编程中,请问哪里不对?
#include<stdio.h>void main()
{
int x,a,b,c,d,e;
printf("请输入一个不多于五位的正整数:\n");
scanf("%d",&x);
if(x<0||x%10000>10)
{
printf("输入错误");
}
else if(a=x/10000>1)
{
a=x/10000; /*求万分位上的数值*/
b=x%10000/1000; /*求千分位上的数值*/
c=x%1000/100;
d=x%100/10;
e=x/10;
printf("整数的位数为五位\n");
printf("整数的逆序为:%d%d%d%d%d\n",e,d,c,b,a);
}
else if(b=x/1000>1)
{
b=x/1000;
c=x%1000/100;
d=x%100/10;
e=x%10;
printf("整数的位数为四位\n");
printf("整数的逆序为:%d%d%d%d\n",e,d,c,b);
}
else if(c=x/100>1)
{
c=x/100;
d=x%100/10;
e=x%10;
printf("整数的位数为三位\n");
printf("整数的逆序为:%d%d%d\n",e,d,c);
}
else if(d=x/10>1)
{
d=x/10;
e=x%10;
printf("整数的位数为两位\n");
printf("整数的逆序为:%d%d\n",e,d);
}
else
e=x;
printf("整数的位数为一位\n");
printf("整数的逆序为:%d\n",e);
}
这是书上的一道题,vc6++编译,可以运行,但结果超过两位就不对了。