用c语言写一个众数问题
时间: 2023-04-10 21:04:34 浏览: 172
可以使用数组和循环来解决众数问题。首先,定义一个数组来存储数据,然后使用循环来遍历数组,统计每个元素出现的次数。最后,找到出现次数最多的元素即可。
以下是一个简单的众数问题的 C 语言代码示例:
```c
#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 1, 2, 1};
int n = sizeof(arr) / sizeof(arr[0]);
int maxCount = 0, mode = 0;
for (int i = 0; i < n; i++) {
int count = 0;
for (int j = 0; j < n; j++) {
if (arr[j] == arr[i]) {
count++;
}
}
if (count > maxCount) {
maxCount = count;
mode = arr[i];
}
}
printf("The mode of the array is %d\n", mode);
return 0;
}
```
这个程序的输出结果是:
```
The mode of the array is 1
```
这个程序使用了两个嵌套的循环来遍历数组,时间复杂度为 O(n^2)。如果数组很大,这个算法的效率会比较低。可以使用哈希表等数据结构来优化算法。
阅读全文