输入小于5位的数,要求输出它的每位数和反着输出每位数和位数
#include <stdio.h>int main()
{
int n,num=0,x;
scanf("%d",&n);
while(n>0&&n<100000)
{
x=n%10;
n=n/10;
printf("%d ",x);
num++;
}
printf("\n%d\n",num);
return 0;
}
在此基础上用switch语句反着输出
#include <stdio.h> int main() { int n, num = 0, x; int a[5] = {0}; scanf("%d", &n); while (n>0 && n<100000) { x = n % 10; n = n / 10; printf("%d ", x); a[num] = x; num++; } switch (num) { case 0: case 1: num = 1; printf("\n%d", a[0]); break; case 2: printf("\n%d %d", a[1],a[0]); break; case 3: printf("\n%d %d %d",a[2], a[1],a[0]); break; case 4: printf("\n%d %d %d %d", a[3], a[2], a[1], a[0]); break; case 5: printf("\n%d %d %d %d %d", a[4], a[3], a[2], a[1],a[0]); break; default: printf("\n输入错误\n"); return 0; } printf("\n%d\n", num); return 0; }