用C语言求解数据集中出现次数最多的数的出现次数是多少?
时间: 2024-10-04 17:02:24 浏览: 5
在C语言中,求解数据集中出现次数最多的数的出现次数可以使用哈希表或者数组+计数的方式。这里我们选择后者,因为它相对简单,适合小规模的数据集:
```c
#include <stdio.h>
#include <stdlib.h>
#define SIZE 100 // 假设数据集大小
// 功能:计算数组中元素出现的次数
int count_elements(int arr[], int n) {
int max_count = 0;
int count[SIZE] = {0}; // 初始化计数数组
for (int i = 0; i < n; i++) {
count[arr[i]]++; // 每次遇到元素就计数加一
}
// 遍历计数数组找到最大计数
for (int i = 0; i < SIZE; i++) {
if (count[i] > max_count) {
max_count = count[i];
}
}
return max_count;
}
int main() {
int data[] = {1, 3, 5, 6, 3, 3, 7, 8, 3, 9}; // 示例数据集
int n = sizeof(data) / sizeof(data[0]);
int most_frequent = count_elements(data, n);
printf("出现次数最多的数的出现次数是: %d\n", most_frequent);
return 0;
}
```
在这个程序中,首先创建了一个计数数组`count[]`,然后遍历输入数据集,每遇到一个元素就在对应的计数上加一。最后再遍历计数数组找出最大的计数值,即为最多出现次数。