C语言水仙花数为什么n为4、5、6时没有输出呢

#include <stdio.h>
int main()
{
int a,b,c,d,e,f,n;
int i,sum;
scanf("%d",&n);
if(n==0)
printf("No output.\n");
else if(n==1)
printf("No output.\n");
else if(n==2)
printf("No output.\n");
if(n==3)
for(i=100;i<1000;i++)
{
a=i%10;
b=(i%100-a)/10;
c=(i-i%100)/100;
sum=aaa+bbb+ccc;
if(sum==i)
printf("%d\n",i);

}
if(n==4)
for(i=1000;i<10000;i++)
{
    a=i%10;
    b=(i%100-a)/10;
    c=(i-i%100)/100;
    d=i/1000;

    if(a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d==i)
    printf("%d\n",i);

}
if(n==5)
for(i=10000;i<100000;i++)
{
    a=i%10;
    b=(i%100-a)/10;
    c=(i-i%100)/100;
    d=(i-i%1000)/1000;
    e=(i-i%10000)/10000;
    sum=a*a*a*a*a+b*b*b*b*b+c*c*c*c*c+d*d*d*d*d+e*e*e*e*e;
    if(sum==i)
    printf("%d\n",i);

}
else if(n==6)
for(i=100000;i<1000000;i++)
{
    a=i%10;
    b=(i%100-a)/10;
    c=(i-i%100)/100;
    d=(i-i%1000)/1000;
    e=(i-i%10000)/10000;
    f=(i-i%100000)/100000;
    sum=a*a*a*a*a*a+b*b*b*b*b*b+c*c*c*c*c*c+d*d*d*d*d*d+e*e*e*e*e*e+f*f*f*f*f*f;
    if(sum==i)
    printf("%d\n",i);

}

return 0;    

}