给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123。

撰写人——软工二班——陈喜平
题目描述
给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123。

将下面的程序填写完整。

#include <stdio.h>
int main()
{
    int x,a,b,c,d,e,y;
    while(scanf("%d",&x)!=EOF)
    {   ...............................

        ................................    

    }
    return 0;
}

输入
包含多组数据,每组一个不大于5位的整数。

输出
每组输出三行。第一行 :位数;第二行:用空格分开的每个数字,注意最后一个数字后没有空格;第三行:按逆序输出这个数

样例输入
789
12345
样例输出
3
7 8 9
987
5
1 2 3 4 5
54321
提示
来源
hnldyhy

#include <stdio.h>
int main()
{
    int x,a,b,c,d,e,f,y;
	int a1,b1,c1,d1,f1;
	int i;
	
    while(scanf("%d",&x)!=EOF)
    {  
		int j=0;
		for(i=x;i!=0;j++)
		{
			i/=10;
		}
		printf("%d\n",j);
		

		a=(x%10)*10000;
		b=((x/10)%10)*1000;
		c=((x/100)%10)*100;
		d=((x/1000)%10)*10;
		f=x/10000;

		a1=(x%10);
		b1=((x/10)%10);
		c1=((x/100)%10);
		d1=((x/1000)%10);
		f1=x/10000;
		y=a+b+c+d+f;

		if(j==1)
			{
				printf("%d\n",y/10000);
				printf("%d\n",y/10000);
			}

		if(j==2)
			{	printf("%d %d\n",b1,a1);
				printf("%d\n",y/1000);
			}

		if(j==3)
			{	printf("%d %d %d\n",c1,b1,a1);
				printf("%d\n",y/100);
			}
			
		if(j==4)
			{	printf("%d %d %d %d\n",d1,c1,b1,a1);
				printf("%d\n",y/10);
			}
			
		if(j==5)
			{	printf("%d %d %d %d %d\n",f1,d1,c1,b1,a1);
				printf("%d\n",y);
			}
			
		




    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_41518597/article/details/83477072