用C++实现描述 【背景描述】教堂在"新年许愿"活动,搜集了n名参与者的运行数字,想找出其中人气最高的幸运数字(0~10),帮助这些人实现愿望。 【问题描述】输入n个数字保存至数组中,找出其中出现次数最多的数字(已知出现最多的数字有一个),输出出现次数最多的数字以及其出现的次数。 输入描述 一行,一个正整数n ( 1≤n≤100 ) ; 一行,n个数字( 0≤数字≤10 ),数字之间使用空格分隔。 输出描述 一行,两个整数; 分别代表出现最多的数字和出现的次数;数字之间使用空格分隔。 用例输入 1 10 9 9 8 4 8 8 1 8 2 1 用例输出 1 8 4
时间: 2024-03-02 12:50:06 浏览: 82
以下是用 C++ 实现的代码:
```c++
#include <iostream>
#include <map>
using namespace std;
int main() {
int n;
cin >> n;
int num;
map<int, int> counts;
for (int i = 0; i < n; i++) {
cin >> num;
counts[num]++;
}
int max_num = 0;
int max_count = 0;
for (auto it = counts.begin(); it != counts.end(); it++) {
if (it->second > max_count) {
max_num = it->first;
max_count = it->second;
}
}
cout << max_num << " " << max_count << endl;
return 0;
}
```
解释:
首先读入参与者数量 `n`,然后用 `map` 来统计每个数字出现的次数。接着遍历 `map`,找出出现次数最多的数字和其出现的次数,最后输出即可。
阅读全文