[求助]代码出错,请帮忙
/*四。对if语句的熟悉
给一个不多于5位的正整数,要求
1.求出它是几位数
2.分别打印出每一个数字
3.按逆序打印出各位数字,原数为123,应输出321
*/
#include<stdio.h>
void main()
{
int x,n,m;
printf("please enter the number 1~99999:\n");
scanf("%d",&x);
if(x>10000&&x<99999)
{
printf("the number is 5 weishu\n"); //写到这里做第2个要求分别打印的时候出错了我看不出来
n=x/10000;
m=x%10000;
printf("%d\n",n);
n=m;
n=n/1000;
m=n%1000;
printf("%d\n",n);
n=m;
n=n/100;
m=n%100;
printf("%d\n",n);
n=m;
n=n/10;
m=n%10;
printf("%d\n%d\n",n,m); //不知道为什么,取后面3位数的时候老出错,全是0,郁闷
}
else if(x>1000&&x<9999)
printf("the number is 4 weishu\n");
else if(x>100&&x<999)
printf("the number is 3 weishu\n");
else if(x>10&&x<99)
printf("the number is 2 weishu\n");
else if(x>1&&x<9)
printf("the number is 1 weishu\n");
}
我们现在只学到用IF语句,麻烦谁帮我看看其中5位数那段怎么错了,刚做到第2个要求把数分别打出来。
上面的代码只写了一点,还没考虑到倒转输出就卡住了。麻烦大家帮帮我,谢谢
还有我的英文很糟糕,5weishu就是5位数=。=