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 }