#include<stdio.h>
#include<math.h>
int main()
{
int a,b,gewei,shiwei,baiwei,qianwei,wanwei;
printf("请输入一个不多于五位的正整数: ");
scanf("%d",&a);
while(a<0||a>=99999)
{
printf("输入错误请重新输入");
scanf("%d",&a);
}
if(a>=0&&a<10) b=1;
else if(a>=10&&a<100) b=2;
else if(a>=100&&a<1000) b=3;
else if(a>=1000&&a<10000) b=4;
else if(a>=10000&&a<100000) b=5;
printf("位数为:%d\n",b);
printf("每位数字为:");
wanwei=a\10000;
qianwei=(int)(a-wanwei*10000)\1000;
baiwei=(int)(a-wanwei*10000-qianwei*1000)\100;
shiwei=(int)(a-wanwei*10000-qianwei*1000-baiwei*100)\10;
gewei=(int)(a-wanwei*10000-qianwei*1000-baiwei*100-shiwei*10);
switch(b)
{
case 5:printf("%d,%d,%d,%d,%d",wanwei,qianwei,baiwei,shiwei,gewei);
printf("\n反序数字为:%d,%d,%d,%d,%d\n",gewei,shiwei,baiwei,qianwei,wanwei);
case 4:printf("%d,%d,%d,%d",qianwei,baiwei,shiwei,gewei);
printf("\n反序数字为:%d,%d,%d,%d\n",gewei,shiwei,baiwei,qianwei);
case 3:printf("%d,%d,%d",baiwei,shiwei,gewei);
printf("\n反序数字为:%d,%d,%d\n",gewei,shiwei,baiwei);
case 2:printf("%d,%d",shiwei,gewei);
printf("\n反序数字为:%d,%d\n",gewei,shiwei);
case 1:printf("%d",gewei);
printf("\n反序数字为:%d\n",gewei);
}
return 0;
}
运行时出现D:\C\输入五位数.cpp(23) : error C2143: syntax error : missing ';' before 'constant'
你好!!
注意篮圈的地方,你的 / 除号方向反了
修改后的完整代码:
#include<stdio.h>运行结果:
上面这一部分改为:
wanwei=a/10000;你把左右斜杠搞错了。
另外说一句,其实还有别的办法可以求这几个变量的值
wanwei=a div 10000;