c语言最大数字出现次数
时间: 2024-09-30 10:05:49 浏览: 78
在C语言中,如果想找出数组中某个特定整数的最大出现次数,可以使用哈希表(如`std::unordered_map`)或者遍历数组并计数的方式来实现。以下是一个简单的示例,假设我们有一个整数数组:
```c
#include <stdio.h>
#include <stdlib.h>
// 函数声明
int findMaxCount(int arr[], int size, int target);
int main() {
int arr[] = {1, 2, 3, 4, 5, 2, 2, 3, 4, 4, 4};
int size = sizeof(arr) / sizeof(arr[0]);
int target = 4; // 我们要查找出现次数最多的数字,这里是4
int maxCount = findMaxCount(arr, size, target);
printf("The number %d appears %d times.\n", target, maxCount);
return 0;
}
// 使用哈希表计算目标值出现的次数
int findMaxCount(int arr[], int size, int target) {
int count = 0;
std::unordered_map<int, int> freq;
for (int i = 0; i < size; i++) {
freq[arr[i]]++; // 如果元素已存在,计数加一;不存在则初始化为1
}
int max = 0, result;
for (auto &pair : freq) {
if (pair.second > max) {
max = pair.second;
result = pair.first;
}
}
return max == 0 ? 0 : max;
}
```
这个程序会输出数字4在数组中的最大出现次数。注意,在C标准库中并没有内置的数据结构可以直接求解这个问题,所以需要自定义解决方案。
阅读全文