L1-003. 个位数统计

L1-003. 个位数统计

给定一个k位整数N = dk-1*10k-1 + ... + d1*101 + d0 (0<=di<=9, i=0,...,k-1, dk-1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 100311,则有2个0,3个1,和1个3。

输入格式:

每个输入包含1个测试用例,即一个不超过1000位的正整数N。

输出格式:

对N中每一种不同的个位数字,以D:M的格式在一行中输出该位数字D及其在N中出现的次数M。要求按D的升序输出。

输入样例:
100311
输出样例:
0:2
1:3
3:1

 1 #include<stdio.h>
 2 int main()
 3 {
 4     char a[1005];
 5     int b[10][2],i,j;
 6     while(~scanf("%s",a))
 7     {
 8         for(j=0;j<10;j++)
 9         {
10             b[j][0]=0;
11         }
12         for(i=0;a[i]!='\0';i++){
13             if(a[i]=='0')
14                 b[0][0]++;
15             else if(a[i]=='1')
16                 b[1][0]++;
17             else if(a[i]=='2')
18                 b[2][0]++;
19             else if(a[i]=='3')
20                 b[3][0]++;
21             else if(a[i]=='4')
22                 b[4][0]++;
23             else if(a[i]=='5')
24                 b[5][0]++;
25             else if(a[i]=='6')
26                 b[6][0]++;
27             else if(a[i]=='7')
28                 b[7][0]++;
29             else if(a[i]=='8')
30                 b[8][0]++;
31             else if(a[i]=='9')
32                 b[9][0]++;
33         }
34         for(j=0;j<10;j++)
35         {
36             if(b[j][0])
37                 printf("%d:%d\n",j,b[j][0]);
38         }
39     }
40     return 0;
41 }

 

posted @ 2017-04-25 10:23  Y.yang  阅读(188)  评论(0编辑  收藏  举报