自己编了一段程序,编译没问题但是运行不出来,后来试着调试时,输入37,两位数字还是可以显示结果了,但多几位就不行了,有人可以帮我看看吗,我不知道哪里出问题了,感谢
#include<stdio.h>
/*367
367/100->3
367%100->67
100/10->10
67/10->6
67%10->7
10/10->1
7/1->7
7%1->0
*/
int main()
{
int x;
scanf("%d",&x);
int digit;
int m=1;
int t;
do{
m*=10;
t=x/10;
}while(t>9);
if(x<0){
printf("fu ");
x=-x;
}
if(x<=100000){
while(m>0){
digit=x/m;
switch(digit)
{
case 0:
printf("ling");
break;
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;
default:;
}
if(m>=10){
printf(" ");
}
x%=m;
m/=10;
}
}
return 0;
}
我把它放网站里运行,但是说运行时间过长,为什么会有这种问题啊