1. 程式人生 > >PAT乙級1021(C語言)-個位數統計 (15)

PAT乙級1021(C語言)-個位數統計 (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

#include<stdio.h>
#include<string.h>
int main()
{
int i, j,k,t,temp;
char D;
int a[10] = {0};
char A[1000];
scanf("%s", A);
temp = strlen(A);
int b;

for (i = 0; i < temp; i++)
{
k = 0;
for (j = 0; j <= 9; j++)
{
b = A[i]-48;
if (b==j)
{
k++;
a[j] += k;

}
}
}
for (t = 0; t <= 9; t++)
{
if (a[t] != 0)
{
printf("%d:%d\n", t, a[t]);
}
}
system("pause");
return 0;
}