IL problema è che non devo usare gli array... quindi la mia idea è stata:
#include<stdio.h>


int main()
{
int n, temp1, temp2, n1, n2, n3, n4;
int somma=0;


printf ("Inserisci un numero: ");
scanf ("%d", &n);

if(n%1000){
temp1 = n;
n1 = temp1 / 1000;
temp2 = temp1 % 1000;
n2 = temp2 / 100;
temp1 = temp2 % 100;
n3 = temp1 / 10;
n4 = temp1 % 10;
printf ("\nle cifre che compongono %d sono %d %d %d %d", n, n1, n2, n3, n4);}

else if(n%100){
temp1 = n;
n1 = temp1 / 100;
temp1 = temp2 % 100;
n2 = temp1 / 10;
n3 = temp1 % 10;
printf ("\nle cifre che compongono %d sono %d %d %d", n, n1, n2, n3);}

if(n%10){
temp1=n;
n1=temp1/10;
n2=temp1%10;
printf("\nle cifre che compongono %d sono %d %d", n, n1, n2);}



fflush(stdin);
getchar();
}

solo che nell'output non riconosce gli if che io dico separatamente...
dove sbaglio???
grazie in anticipo