天天看點

1009求數字位數 逆序輸出數字

1009

題目描述

給出一個不多于5位的整數,要求 1、求出它是幾位數 2、分别輸出每一位數字 3、按逆序輸出各位數字,例如原數為321,應輸出123

輸入

一個不大于5位的數字

輸出

三行 第一行 位數 第二行 用空格分開的每個數字,注意最後一個數字後沒有空格 第三行 按逆序輸出這個數

樣例輸入

12345

樣例輸出

5

1 2 3 4 5

54321

#include<stdio.h>
int main(){
	int NumOfScanf;//定義輸入數字
	int LevelOfScanf=0;//定義輸入數字的位數
	int Num[5];//定義一個數組用來儲存輸入數字的每一位
	scanf("%d",&NumOfScanf);
	for(int i=4;i>=0;i--){
		if(NumOfScanf==0){
			break;//如果位數前進到個位數以後則會停止前進并終止循環
		}
		else{
			Num[i]=NumOfScanf%10;//每次讓輸入數字模10取得最後一位,正序存入數組中
			//printf("%d\n",Num[i]);//輸出輸入數字的最後一位
			NumOfScanf=NumOfScanf/10;//每次循環後輸入數字除以10前進一位
			LevelOfScanf+=1;
		}
	}
	
	printf("%d\n",LevelOfScanf);//輸出輸入數字的位數
	for(int i=0;i<=4;i++){
		switch(i){
			case 4:
				printf("%d\n",Num[i]);
				break;
			default:
				printf("%d ",Num[i]);
				break;
		}
	}
	for(int i=4;i>=0;i--){
		printf("%d",Num[i]);
	}
	return 0;
}
           

繼續閱讀