要求:给一个不多于5位的正整数,要求:
①求出它是几位数;
②分别输出每一位数字;
③按逆序输出各位数字,例如原数为321,应输出123.
代码:
#include <stdio.h>
int main()
{
int n,place,a,b,c,d,e;
scanf("%d",&n);
if(n>9999) place=5;
else if(n>999) place=4;
else if(n>99) place=3;
else if(n>9) place=2;
else place=1;
printf("位数为:%d\n",place);
a=(int)(n/10000);
b=(int)(n/1000-a*10);
c=(int)(n/100-a*100-b*10);
d=(int)(n/10-a*1000-b*100-c*10);
e=(int)(n-a*10000-b*1000-c*100-d*10);
switch(place)
{
case 5:
printf("每一位数字是:%d %d %d %d %d",a,b,c,d,e);
printf("\n反序数字是:%d%d%d%d%d",e,d,c,b,a);
break;
case 4:
printf("每一位数字是:%d %d %d %d",b,c,d,e);
printf("\n反序数字是:%d%d%d%d",e,d,c,b);
break;
case 3:
printf("每一位数字是:%d %d %d",c,d,e);
printf("\n反序数字是:%d%d%d",e,d,c);
break;
case 2:
printf("每一位数字是:%d %d%",d,e);
printf("\n反序数字是:%d%d",e,d);
break;
case 1:
printf("每一位数字是:%d%",e);
printf("\n反序数字是:%d%",e);
break;
}
return 0;
}
核心内容:每一位的处理