数字出现频率统计
问题:从键盘输入 n 个 0~9 之间的整数(0 < n < 21),统计每个数字出现的次数,并输出统计结果。输入中未出现的数字不统计(即出现次数为 0 的数字不需要输出)。
要求:输入正整数 n 和 n 个待统计的 0~9 之间的整数。
输出形式:按照被统计数字从小到大的顺序输出统计结果,输出时行与行之间无空行。
示例1:
输入:3 5 0 9
输出:
0 1
5 1
9 1
示例2:
输入:4 2 4 2 2
输出:
2 3
4 1
代码展示:
#include<stdio.h>
int main()
{
int n,i,a[20],b[20]={0};
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
switch(a[i])
{
case 0:b[a[i]]++;break;
case 1:b[a[i]]++;break;
case 2:b[a[i]]++;break;
case 3:b[a[i]]++;break;
case 4:b[a[i]]++;break;
case 5:b[a[i]]++;break;
case 6:b[a[i]]++;break;
case 7:b[a[i]]++;break;
case 8:b[a[i]]++;break;
case 9:b[a[i]]++;break;
default:;
}
}
for(i=0;i<10;i++)
{
if(b[i]>0) printf("%d %d\n",i,b[i]);
}
return 0;
}