题目描述
给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123
输入
一个不大于5位的数字
输出
三行 第一行 位数 第二行 用空格分开的每个数字,注意最后一个数字后没有空格 第三行 按逆序输出这个数
样例输入
12345
样例输出
5
1 2 3 4 5
54321
#include<stdio.h>
#include<string.h>
#define IP 3.1415
int main()
{
int x,a,b,c,d,e,n;//abcde分别表示个十百千万位
scanf("%d",&x);
a=x%10;
b=x%100/10;
c=x%1000/100;
d=x%10000/1000;
e=x/10000;
if(a!=0&&b==0&&c==0&&d==0&&e==0)//注意判断条件只需当前最高位不等与0即可
{
n=1;
printf("%d\n%d\n%d",n,a,a);
}
if(b!=0&&c==0&&d==0&&e==0)
{
n=2;
printf("%d\n%d %d\n%d%d",n,b,a,a,b );
}
if(c!=0&&d==0&&e==0)
{
n=3;
printf("%d\n%d %d %d\n%d%d%d",n,c,b,a,a,b,c );
}
if(d!=0&&e==0)
{
n=4;
printf("%d\n%d %d %d %d\n%d%d%d%d",n,d,c,b,a,a,b,c,d );
}
if(e!=0)
{
n=5;
printf("%d\n%d %d %d %d %d\n%d%d%d%d%d",n,e,d,c,b,a,a,b,c,d,e);
}
return 0;
}