输入n个数,判断这些数中哪个数字出现的次数最多c++
时间: 2024-10-18 13:13:35 浏览: 19
输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数(C语言代码)
在C++中,你可以通过哈希表或计数数组来解决这个问题。这里是一个简单的示例,使用数组和循环来统计每个数出现的次数:
```cpp
#include <iostream>
using namespace std;
int findMaxFrequency(int arr[], int n) {
// 创建一个大小为n+1的计数数组,所有元素初始化为0
int count[n + 1] = {0};
// 遍历输入数组,对每个元素加一
for (int i = 0; i < n; ++i)
count[arr[i]]++;
// 初始化最大频率和最频繁的数字
int maxCount = 0;
int mostFrequentNum = -1;
// 找出出现次数最多的数字及其频率
for (int i = 0; i <= n; ++i)
if (count[i] > maxCount) {
maxCount = count[i];
mostFrequentNum = i;
}
return mostFrequentNum;
}
int main() {
int arr[] = {1, 2, 3, 4, 5, 5, 6, 7, 7, 8, 8, 8};
int n = sizeof(arr) / sizeof(arr[0]);
int mostCommonNum = findMaxFrequency(arr, n);
cout << "出现次数最多的数字是:" << mostCommonNum << endl;
return 0;
}
```
在这个例子中,`findMaxFrequency`函数接收一个整数数组和它的长度,计算每个数出现的次数,并返回出现次数最多的数字。
阅读全文