[天梯賽]L1-003. 個位數統計
阿新 • • 發佈:2019-01-24
給定一個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;
}