用c++做给出n个整数,输出其中出现最多的一个整数。
时间: 2023-03-23 22:01:44 浏览: 179
好的,我了解了您的要求。回答您的问题:
这道题可以使用哈希表来解决,将每个整数出现的次数记录在哈希表中,然后遍历哈希表找出出现次数最多的整数即可。
下面是使用C语言实现的代码示例:
```c
#include <stdio.h>
int main() {
int n, num;
scanf("%d", &n);
int count[100000] = {0};
for (int i = 0; i < n; i++) {
scanf("%d", &num);
count[num]++;
}
int max_num = 0, max_count = 0;
for (int i = 0; i < 100000; i++) {
if (count[i] > max_count) {
max_count = count[i];
max_num = i;
}
}
printf("%d\n", max_num);
return 0;
}
```
该代码使用了一个长度为100000的数组count来记录每个整数出现的次数。遍历输入的n个整数,每读入一个整数num,就将count[num]加1。最后再次遍历count数组,找出出现次数最多的整数,输出即可。
注意,上述代码可能会存在整数越界的问题。如果输入的整数超过了100000,程序会崩溃。为了避免这种情况,可以根据输入的数据范围来调整count数组的长度。
阅读全文