为什么没有输出啊?这个念整数的练习。我这个思路不是没问题吗?

#include
int main()
{
int a;
int t=1;
scanf("%d",&a);
if(a<0){
printf("fu ");
a=-a;
}
while(a>0){
a/=10;
t=t*10;
}
while(a>0){
int digit=a/t;
switch (digit){
case 1:
printf("yi ");
break;
case 2:
printf("er ");
break;
case 3:
printf("san ");
break;
case 4:
printf("si ");
break;
case 5:
printf("wu ");
break;
case 6:
printf("liu ");
break;
case 7:
printf("qi ");
break;
case 8:
printf("ba ");
break;
case 9:
printf("jiu ");
break;
case 10:
printf("ling ");
break;
}
a=a%t;
t=t/10;
}
return 0;
}

while(a>0){
a/=10;
t=t*10;
}
你还没等判断,就直接一个循环把a变成0了
后面的判断要写进循环里面啊