1. 程式人生 > >PAT L1-003. 個位數統計【水題】

PAT L1-003. 個位數統計【水題】

L1-003. 個位數統計

時間限制 400 ms
記憶體限制 65536 kB
程式碼長度限制 8000 B
判題程式 Standard 作者 陳越

給定一個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<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
  char s[1003];
  gets(s);
  int l=strlen(s);
  int a[11]={0};//設定一個數組用來統計每個數字出現的次數
  int m;
  for(int i=0; i<l; i++)
  {
    m=s[i]-48; //字元0的ASCII碼為48;
    a[m]++;
  }
  for(int i=0; i<10; i++)
  {
    if(a[i]!=0)
        printf("%d:%d\n",i,a[i]);
  }
  return 0;
}