1021. 个位数统计 (15)

1021. 个位数统计 (15)

给定一个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 #include<string.h>
 3 int main()
 4 {
 5   char a[1001];
 6   int i,zero=0,one=0,two=0,three=0,four=0,five=0,six=0,seven=0,eight=0,nine=0,len;
 7   scanf("%s",a);
 8   len=strlen(a);
 9   for(i=0;i<len;i++)
10   {
11     switch(a[i]-'0')
12     {
13     case 0:zero++;break;
14     case 1:one++;break;
15     case 2:two++;break;
16     case 3:three++;break;
17     case 4:four++;break;
18     case 5:five++;break;
19     case 6:six++;break;
20     case 7:seven++;break;
21     case 8:eight++;break;
22     case 9:nine++;break;
23     }
24   }
25   if(zero!=0)
26     printf("%d:%d
",0,zero);
27   if(one!=0)
28     printf("%d:%d
",1,one);
29   if(two!=0)
30     printf("%d:%d
",2,two);
31   if(three!=0)
32     printf("%d:%d
",3,three);
33   if(four!=0)
34     printf("%d:%d
",4,four);
35   if(five!=0)
36     printf("%d:%d
",5,five);
37   if(six!=0)
38     printf("%d:%d
",6,six);
39   if(seven!=0)
40     printf("%d:%d
",7,seven);
41   if(eight!=0)
42     printf("%d:%d
",8,eight);
43   if(nine!=0)
44     printf("%d:%d
",9,nine);
45   return 0;
46 }
原文地址:https://www.cnblogs.com/cqxhl/p/6183902.html