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. Se alguém puder ajudar eu agradeço!!