题目链接:http://codeup.cn/problem.php?cid=100000588&pid=4
题目描述
输入20个数,每个数都在1-10之间,求1-10中的众数(众数就是出现次数最多的数,如果存在一样多次数的众数,则输出权值较小的那一个)。
输入
测试数据有多组,每组输入20个1-10之间的数。
输出
对于每组输入,请输出1-10中的众数。
注意如果存在一样多次数的众数,则输出权值较小的那一个。
样例输入
8 9 6 4 6 3 10 4 7 4 2 9 1 6 5 6 2 2 3 8
样例输出
6
代码
#include<stdio.h>
int main () {
int a;
while(scanf("%d", &a) != EOF) {
int b[12] = {0};
b[a]++;
for(int i = 1; i < 20; i++) {
scanf("%d", &a);
b[a]++;
}
int temp= 0, max = b[0];
for(int i = 1; i < 11; i++)
if(b[i] > max){
max = b[i];
temp = i;
}
printf("%d\n" ,temp);
}
return 0;
}