1020.數字識別

來源: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 }
相關文章
相關標籤/搜索