题目描述
输入20个数,每个数都在1-10之间,求1-10中的众数(众数就是出现次数最多的数,如果存在一样多次数的众数,则输出权值较小的那一个)。
输入
测试数据有多组,每组输入20个1-10之间的数。
输出
对于每组输入,请输出1-10中的众数。
注意如果存在一样多次数的众数,则输出权值较小的那一个。
样例输入 Copy
8 9 6 4 6 3 10 4 7 4 2 9 1 6 5 6 2 2 3 8
样例输出 Copy
6
代码
#include<stdio.h>
#include<string.h>
using namespace std;
int main() {
int a[11];
int n, n0;
while (scanf("%d", &n0) != EOF) {
memset(a, 0, sizeof(a));
a[n0]++;
for (int i = 0; i < 19; i++) {
scanf("%d", &n);
a[n]++;
}
int maxn = a[1];
int index = 1;
for (int i = 2; i <= 10; i++) {
if (a[i] > maxn) {
maxn = a[i];
index=i;
}
}
printf("%d\n",index);
}
return 0;
}