输入小于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;
}