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;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章