• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

suzy

[C] Ajuda: Soma com o algarismo da direita

7 mensagens neste tópico

:wallbash: isto hoje ta complicado

tenho um numero 3214, e quero somar com o algarismo da direita assim 3+2 = 6    ; 2+1= 3 ; assim sucessivamnte

ora bem, tenho de fazer um ciclo;

while (numero>0)
  {
resto= numero%10;
numero=numero/10;

}

vai-me buscar os números atraves dos restos  (individualmente) agora quero somar os restos com o seu numero a direita

e devolve a soma

neste caso nao posso usar vectores  :ipool:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tenho a sensação que te estou a fazer os trabalhos de casa :(

mas aqui vai:

int numero = 3214, resto;

while(num>0){
      resto = num % 10;
      num /= 10;
      if(num>0){
           printf("%d\n", num % 10 + resto);
      }
}

não percebi se era para somar tudo no fim ou não mas se for:

int numero = 3214, resto, soma=0;

while(num>0){
      resto = num % 10;
      num /= 10;
      if(num>0)
           soma+=num%10+resto);
}

printf("%d", soma);

não testei mas em princípio é isso...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

hehe pois acho que é um bug no meu programa, porque no meu 3+2 = 5  :(

mais logo lanço um patch ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
:D nop, vou ter teste :) ainda tou mto verde nisto  :cheesygrin: é uma novidade isto :biggrin:v :ipool:mas com a pratica vai-se la :(;)
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

:( so uma pergunta a ver se entendi

então resto=numero%10 ate aqui tudo bem :biggrin:

porque é que colocas printf("%d\n", num % 10 + resto) ,eu sei qye ta correcto , mas num%10 naõ e igual ao resto  :hmm:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

da primeira vez que o ciclo é executado o resto é o número mais à direita de 3214, portanto 4

logo se queres 1+4, fazes novamente o resto, para teres o 1, e somas ao 4 (num%10 + resto)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora