Olá pessoa sou novo aqui e gostaria de ajudar, este é o meu primeiro tópico e gostaria de ajudar a galera com um algoritmo que acabei de criar para um exercício da minha facu.
Eu estou aprendendo sobre recursividade então, está ai para quem também está aprendendo. Caso alguém tenha algum comentário para eu poder melhorar meus códigos postem também, ficarei grato.
Este algorítio é só para pegar um número informado pelo usuário e depois somar os dígitos deste número.
Exemplo: 1234 = (1+2+3+4) = 10
#include <stdio.h>
#include <conio.h>s
int soma_digito(int num){
int a,b;
//Atribuição do valor do ultimo digito do número à variável "a".
a = num%10;
//Remoção o ultimo dígito do número "num" e atribui o novo valor para "b"
b = (num - a)/10;
//Testa se o número ainda tem mais algum dígito ou não. Se não tiver, então é retornado só o valor do próprio dígito.
if (b <= 0){
return a;
}
else {
// Se tiver mais algum dígito. Soma o valor do último número ao próximo ultimo número.
return a + soma_digito(b);
}
}
main(){
int n;
printf("*********Soma dos digitos de um número*********");
printf ("Informe o numero: ");
scanf ("%d",&n);
printf ("A Soma dos digitos do numero %d e: %d",n,soma_digito(n));
getch();
}
Pergunta
Browca
Olá pessoa sou novo aqui e gostaria de ajudar, este é o meu primeiro tópico e gostaria de ajudar a galera com um algoritmo que acabei de criar para um exercício da minha facu.
Eu estou aprendendo sobre recursividade então, está ai para quem também está aprendendo. Caso alguém tenha algum comentário para eu poder melhorar meus códigos postem também, ficarei grato.
Este algorítio é só para pegar um número informado pelo usuário e depois somar os dígitos deste número.
Exemplo: 1234 = (1+2+3+4) = 10
Editado por BrowcaLink para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.