c语言习题:给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字,例如原数是321,应输出123。
(求大佬指点,我是初学者)
我的答案:
#include
main()
{
int x,a,b,c,d,e;
printf("please input a number:");
scanf("%d,&x");
if (x>0&&x<=10) printf("one-digit");
printf("%d%d\n",x,x);
if (x>10&&x<=100) printf("twe-digit");
a=x/10;b=x%10;
printf("%d%d\n",a,b);
printf("%d%d",b,a);
if (x>100&&x<=1000) printf("three-digit");
a=x/100;b=(x-a*100)/10;c=x-a*100-b*10;
printf("%d%d%d\n",a,b,c);
printf("%d%d%d",c,b,a);
if (x>1000&&x<=10000) printf("four-digit");
a=x/1000;b=(x-a*1000)/100;c=(x-a*1000-b*100)/10;d=x-a*1000-b*100-c*10;
printf("%d%d%d%d\n",a,b,c,d);
printf("%d%d%d%d",d,c,b,a);
if (x>10000&&x<=100000) printf("five-digit");
a=x/10000;b=(x-a*10000)/1000;c=(x-a*10000-b*1000)/100;
d=(x-a*10000-b*1000-c*100)/10;e=x-a*10000-b*1000-c*100-d*10;
printf("%d%d%d%d%d\n",a,b,c,d,e);
printf("%d%d%d%d%d",e,d,c,b,a);
}
编译没有问题但运行不出结果,请问问题出在哪里,该怎么改?