给出一个不多于5位的正整数,要求:1.求出它是几位数2.分别输出每一位数字3.按逆序输出各位数字,例如原数321应输出123
#include <stdio.h>
int main()
{
int a,c,x1,x2,x3,x4,x5;
printf("请输入一个不多于5位的正整数");
scanf("%d",&a);
if(a/10000)
{
printf("%d为五位数\n",a);
c = 5;
}
else
{
if(a/1000)
{
printf("%d为四位数\n",a);
c= 4;
}
else
if(a/100)
{
printf("%d为三位数\n",a);
c=3;
}
else
if(a/10)
{
printf("%d为两位数\n",a);
c=2;
}
else {
printf("%d为个位数\n",a);
c=1;
}
}
x5=a/10000;
x4=a/1000%10;
x3=a/100%10;
x2=a/10%10;
x1=a%10;
switch(c)
{
case 5:printf("第五位%d第四位%d第三位%d第二位%d第一位%d\n",x5,x4,x3,x2,x1);
printf("逆序输出%d%d%d%d%d\n",x1,x2,x3,x4,x5);
break;
case 4:printf("第四位%d第三位%d第二位%d第一位%d\n",x4,x3,x2,x1);
printf("逆序输出%d%d%d%d\n",x1,x2,x3,x4);
break;
case 3:printf("第三位%d第二位%d第一位%d\n",x3,x2,x1);
printf("逆序输出%d%d%d\n",x1,x2,x3);
break;
case 2:printf("第二位%d第一位%d\n",x2,x1);
printf("逆序输出%d%d\n",x1,x2);
break;
case 1:printf("第一位%d\n",x1);
printf("逆序输出%d\n",x1);
break;
}
return 0;
}