众数
题目描述
众数是指在一组数据中,出现次数最多的数。例如:1, 1, 3 中出现次数最多的数为 1,则众数为 1。 给定一组数,你能求出众数吗?
输入描述
输入数据有多组(数据组数不超过 50),到 EOF 结束。
对于每组数据: 第 1 行输入一个整数
n
n
n (
1
≤
n
≤
10000
1 \leq n \leq 10000
1≤n≤10000),表示数的个数。第 2 行输入
n
n
n 个用空格隔开的整数
A
i
A_i
Ai (
0
≤
A
i
≤
1000
0 \leq A_i \leq 1000
0≤Ai≤1000),依次表示每一个数。
输出描述
对于每组数据,在一行中输出一个整数,表示这组数据的众数。
数据保证有唯一的众数。
样例
输入
3
1 1 3
5
0 2 3 1 2
输出
1
2
来源
C语言实验6-一维数组的应用
C++实现
#include <iostream>
#include <cstring>
using namespace std;
int main() {
int n, a[1001], temp, maxindex;
while (cin >> n) {
memset(a,0,sizeof(a));
maxindex = 0;
while (n--) {
cin >> temp;
a[temp]++;
}
for (int i = 1; i <= 1000; i++) {
if (a[i] > a[maxindex]) {
maxindex = i;
}
}
cout << maxindex << endl;
}
}