1. 程式人生 > >[天梯賽]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

#include<stdio.h>
#include<string.h>
int main()
{
 char a[1001];//這裡需要調大一號,是為了防止溢位。//
 int i,j;
 gets(a);//技巧:利用gets與陣列輸入特別長的字串,但要注意陣列得是char//
 int c=strlen(a);
 int b[10]={0};
 for(i=0;i<c;i++)
  b[a[i]-'0']++;
 for(j=0;j<10;j++)//利用新建陣列直接對序號排序。//
 if(b[j]!=0)
 printf("%d:%d\n",j,b[j]);
 return 0;
 }