來源:oj.noi.cn
時間限制: 1000 ms 空間限制: 262144 KB
題目描述
輸入一個很少於四位的正整數,求出它是幾位數,並分別打印出各位上的數字。
輸入
輸入一個很少於四位的正整數x。
輸出
第一行輸出x的位數num,接下來num行從高位到低位輸出x的每一位上的數字。
樣例輸入
123
樣例輸出
3
1
2
3
數據範圍限制
1<=x<=9999算法
算法分析:
遞歸:在每一層遞歸中求出個位,回溯的時候再輸出。 spa
1 #include <stdio.h> 2 void fun(int x,int num);//統計x的位數。目前統計結果是num位。初始調用是num=0。 3 int main() 4 { 5 int n; 6 scanf("%d",&n); 7 if(n==0) { printf("1\n0\n");return 0; } 8 else fun(n,0); 9 return 0; 10 } 11 void fun(int x,int num)//統計x的位數。目前統計結果是num位。初始調用是num=0。 12 { 13 int t=x%10; 14 num++; 15 x=x/10; 16 if(x==0) printf("%d\n",num); 17 else fun(x,num); 18 printf("%d\n",t); 19 }