个位数统计
题目描述
给定一个$k$位整数 $N=d_{k−1}10^{k−1}+⋯+d_110^1+d_0$$ (0≤d_i ≤9, i=0,⋯,k−1, d_{k−1} >0)$,请编写程序统计每种不同的个位数字出现的次数。例如:给定 $N=100311$,则有 2 个 0,3 个 1,和 1 个 3。
输入格式
每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 $N$。
输出格式
对 $N$ 中每一种不同的个位数字,以 D:M
的格式在一行中输出该位数字 D
及其在N
中出现的次数 M
。要求按 D
的升序输出。
输入样例
1 | 100311 |
输出样例
1 | 0:2 |
问题解决
解题思想
$N$为不超过 1000 位的正整数,显然不能用单个变量来存 $N$ 的值,可用字符数组存入 $N$ 的每一位;输入时遇到换行即输入结束;设置一个整型数组coun[10]来统计各位数字出现的次数;个数为0个的数字不输出。
代码示例(C/C++)
1 |
|
题目来源:PAT乙级1021
作者:CHEN, Yue
单位:浙江大学