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!!