【CSP-X 2016C】幸运数字 请写出c++代码
时间: 2024-10-17 14:05:09 浏览: 35
0、信息学奥赛(CSP-J CSP-S NOI)相关书籍汇总--2021-04-24(C++版)D.pdf
5星 · 资源好评率100%
【CSP-X 2016C】幸运数字是一个竞赛题目,通常涉及到编程基础和算法设计。题目可能是让你编写一个程序,让用户输入一组数并找出其中出现次数最多的“幸运数字”。下面是一个简单的C++代码示例,用于解决这个问题:
```cpp
#include <iostream>
#include <unordered_map>
int findLuckyNumber(int arr[], int n) {
std::unordered_map<int, int> countMap;
// 统计每个数字出现的次数
for (int i = 0; i < n; ++i) {
countMap[arr[i]]++;
}
// 找出出现次数最多的数据
int maxCount = 0, luckyNumber = -1;
for (auto &num : countMap) {
if (num.second > maxCount) {
maxCount = num.second;
luckyNumber = num.first;
}
}
return luckyNumber;
}
int main() {
int n;
std::cout << "请输入数组元素的数量: ";
std::cin >> n;
int arr[n];
std::cout << "请输入" << n << "个整数: ";
for (int i = 0; i < n; ++i) {
cin >> arr[i];
}
int luckyNum = findLuckyNumber(arr, n);
if (luckyNum != -1) {
std::cout << "幸运数字是: " << luckyNum << std::endl;
} else {
std::cout << "没有找到幸运数字!" << std::endl;
}
return 0;
}
```
这个代码首先读取用户输入的数字,然后计算它们出现的频率,并返回出现次数最多的那个数字。如果没有唯一的最大值,则返回-1。
阅读全文