Olá, eu sou iniciante em programação em C e surgiu uma dúvida sobre um erro no programa:
#include <stdio.h>
#include <stdlib.h>
/* Crie um programa que le um número natural n do teclado e imprime todos os divisores
desse numero fazendo tambem para com todos os inteiros positivos menores que esse número.
Ao final, imprima também a soma dos divisores encontrados para cada numero*/
// Não funciona
int main(void)
{
int i, total, n=1, cont=0, j;
printf("\n\nEscreva um numero inteiro positivo: ");
scanf("%d", &n);
for(j=n; j!=0; j--)
{
total=0;
cont=0;
for(i=1; i<=n; i++)
{
if(n%i==0)
{
cont++;
printf("D%d=%d ",cont ,i);
total+=i;
}
}
if(total>0) printf("\nA soma dos divisores de %d eh: %d\n\n",n ,total);
}
return 0;
}
Ele não muda o número decrementando em uma unidade e então em vez de mostrar todos os inteiros inferiores ao digitado ele mostra o mesmo.
Pergunta
TRS
Olá, eu sou iniciante em programação em C e surgiu uma dúvida sobre um erro no programa:
Ele não muda o número decrementando em uma unidade e então em vez de mostrar todos os inteiros inferiores ao digitado ele mostra o mesmo.
Se alguém puder ajudar eu agradeço!!
Editado por TRSLink para o comentário
Compartilhar em outros sites
1 resposta 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.