#include<stdio.h>
int main()
{
int z;
int i=0;
int a, b, c, d, e;
int tmp ;
printf("please enter a number:");
scanf_s("%d", &z);
if (z <= 0 || z > 99999)
{
printf("enter error");
}
else
{
tmp = z;
for (i = 0; z >= 1; i++)
{
z = z / 10;
}
printf("该数字是%d位数\n", i);
z = tmp;
e = z / 10000;
d = z / 1000 - 10 * (z / 10000);
c = z / 100 - (z / 1000) * 10;
b = z / 10 - 10 * (z / 100);
a = z % 10;
switch (i)
{
case 1:printf("%d", z);
printf("逆序输出为:%d\n", z);
break;
case 2:printf("每一位分别是:%d,%d\n", b = z / 10, a = z % 10);
printf("逆序输出为:%d,%d", a, b);
break;
case 3:printf("每一位分别是:%d,%d,%d\n", c, b, a);
printf("逆序输出为:%d,%d,%d", a, b, c);
break;
case 4:printf("每一位分别是:%d,%d,%d,%d\n", d, c, b, a);
printf("逆序输出为:%d,%d,%d,%d", a, b, c, d);
break;
case 5:printf("每一位分别是:%d,%d,%d,%d,%d\n", e, d, c, b, a);
printf("逆序输出为:%d,%d,%d,%d,%d", a, b, c, d, e);
break;
default:printf("enter error!"); break;
}
}
return 0;
}
这个题是放在主函数里做的,用的switch-case,代码看起来比较多