1. 程式人生 > >給出一個不多於5位的整數,要求 1、求出它是幾位數 2、分別輸出每一位數字 3、按逆序輸出各位數字,例如原數為321,應輸出123。

給出一個不多於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;
}