帮我写一个用C语言设计一个函数从数组a[500]中选择重复出现最多的数,并返回该数据,写明注释
时间: 2024-05-03 07:20:22 浏览: 24
好的,您可以输入以下代码以实现您的需求:
```c
#include <stdio.h>
int findMostFrequent(int arr[], int n) {
int maxCount = 1, res = arr[0], currCount = 1;
for(int i = 0; i < n; i++) {
for(int j = i+1; j < n; j++) {
if(arr[i] == arr[j]) {
currCount++;
}
}
if(currCount > maxCount) {
maxCount = currCount;
res = arr[i];
}
currCount = 1;
}
return res;
}
int main() {
int arr[500]; // 定义一个大小为500的数组
int n; // 用于存储实际输入的元素数
printf("请输入数组元素个数:");
scanf("%d", &n);
printf("请输入数组元素:");
for(int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
int ans = findMostFrequent(arr, n);
printf("重复出现最多的数是:%d\n", ans);
return 0;
}
```
解释:该程序通过两重循环遍历数组,统计每个数字出现的次数,选择出现次数最多的即为答案。其中,maxCount用于记录当前出现次数最多的数字的出现次数,res用于记录当前出现次数最多的数字,currCount用于记录当前数字的出现次数。主函数中,首先输入数组元素个数和元素值,然后调用findMostFrequent函数求解答案,并输出结果。