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 }