C语言实现输入一个不多于5位的正整数,要求: 求出它是几位数 分别输出每一位数字 按逆序输出各位数字,例如原数为321,应输出123
#include "stdio.h"
#include "math.h"
int main()
{
int num,indiv,ten,hundred,thousand,ten_thousand,place;
scanf("%d",&num);
if (num>9999)
place=5;
else if (num>999)
place=4;
else if (num>99)
place=3;
else if (num>9)
place=2;
else
place=1;
printf("位数:%d\n",place);
printf("每位数字为:");
ten_thousand=num/10000;
thousand=(int)(num-ten_thousand*10000)/1000;
hundred=(int)(num-ten_thousand*10000-thousand*1000)/100;
ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10;
indiv=(int)(num-ten_thousand*10000-thousand*1000-hundred*100-ten*10);
switch(place) {
case 5:
printf("%d,%d,%d,%d,%d",ten_thousand,thousand,hundred,ten,indiv);
printf("\n反序数字为:");
printf("%d%d%d%d%d\n",indiv,ten,hundred,thousand,ten_thousand);
break;
case 4:
printf("%d,%d,%d,%d",thousand,hundred,ten,indiv);
printf("\n反序数字为:");
printf("%d%d%d%d\n",indiv,ten,hundred,thousand);
break;
case 3:
printf("%d,%d,%d",hundred,ten,indiv);
printf("\n反序数字为:");
printf("%d%d%d\n",indiv,ten,hundred);
break;
case 2:
printf("%d,%d",ten,indiv);
printf("\n反序数字为:");
printf("%d%d\n",indiv,ten);
break;
case 1:
printf("%d",indiv);
printf("\n反序数字为:");
printf("%d\n",indiv);
break;
}
return 0;
}
#include "stdio.h"
int main()
{
int a,b,count=0;
float b1,b2,b3,b4,b5,b6;
scanf("%d",&a);
switch (a)
{
case 10000 ... 99999:
printf("位数:%d\n",b=5);
break;
case 1000 ... 9999:
printf("位数:%d\n",b=4);
break;
case 100 ... 999:
printf("位数:%d\n",b=3);
break;
case 10 ... 99:
printf("位数:%d\n",b=2);
break;
default:
printf("位数:%d\n",b=1);
break;
}
b1 = a/10000;
b2 = a%10;
b3 = a%100;
b4 = a%1000;
b5 = a%10000;
b6 = a/10;
if (b==5)
{
printf("每位数字为:%0.f,%0.f,%0.f,%0.f,%0.f\n",b1,b5/1000,b4/100,b3/10,b2);
printf("反序数字为:%0.f%0.f%0.f%0.f%0.f\n",b2,b3/10,b4/100,b5/1000,b1);
}
else if (b==4)
{
printf("每位数字为:%0.f,%0.f,%0.f,%0.f\n",b5/1000,b4/100,b3/10,b2);
printf("反序数字为:%0.f%0.f%0.f%0.f\n",b2,b3/10,b4/100,b5/1000);
}
else if (b==3)
{
printf("每位数字为:%0.f,%0.f,%0.f\n",b4/100,b3/10,b2);
printf("反序数字为:%0.f%0.f%0.f\n",b2,b3/10,b4/100);
}
else if (b==2)
{
printf("每位数字为:%0.f,%0.f\n",b6,b2);
printf("反序数字为:%0.f%0.f\n",b2,b6);
}
else
{
printf("每位数字为:%d\n",a);
printf("反序数字为:%d\n",a);
}
}