c语言写一个 一位数组元素中寻找重复最多次的值的程序
时间: 2024-09-26 18:12:47 浏览: 34
在C语言中,编写一个程序来找到数组中重复最多的元素需要遍历数组并维护一个计数器和当前最大次数。这里是一个简单的示例程序:
```c
#include <stdio.h>
int find_most_frequent(int arr[], int n) {
// 初始化最大计数和最大值
int max_count = 0, most_frequent = arr[0];
// 创建一个大小等于数组元素范围的哈希表(数组)
int count[arr[0] + 1] = {0};
// 遍历数组,更新哈希表并检查最大计数
for (int i = 0; i < n; i++) {
count[arr[i]]++;
if (count[arr[i]] > max_count) {
max_count = count[arr[i]];
most_frequent = arr[i];
}
}
return most_frequent;
}
int main() {
int arr[] = {1, 2, 3, 4, 5, 2, 3, 3, 4, 4, 4}; // 示例数组
int size = sizeof(arr) / sizeof(arr[0]);
int most_repeated = find_most_frequent(arr, size);
printf("重复次数最多的元素是 %d,出现了 %d 次\n", most_repeated, max_count);
return 0;
}
```
这个程序首先计算每个元素在数组中出现的次数,并存储在`count`数组中。然后,它比较当前计数与之前的最大计数,如果新的计数更大,则更新最大计数和最频繁的元素。最后,在主函数中,我们打印出重复次数最多的元素及其出现的次数。
阅读全文