输入一组无序的整数,编程输出其中出现次数最多的整数及其出现次数,并且能输出频率都是最高,但数量大于1的数。C语言
时间: 2023-10-31 07:04:41 浏览: 64
可以使用哈希表来记录每个整数出现的次数,然后遍历哈希表找出出现次数最多的整数及其出现次数。具体代码实现如下:
#include <stdio.h>
#include <stdlib.h>
#define MAX_N 10000 // 数组最大长度
#define MAX_NUM 10000 // 数组中元素最大值
int main() {
int n; // 数组长度
int a[MAX_N]; // 数组
int cnt[MAX_NUM] = {0};// 哈希表,记录每个整数出现次数
int max_cnt = 0; // 出现次数最多的整数的出现次数
int max_num = 0; // 出现次数最多的整数
// 输入数组
printf("请输入数组长度 n:");
scanf("%d", &n);
printf("请输入 %d 个整数:", n);
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
cnt[a[i]]++; // 更新哈希表
if (cnt[a[i]] > max_cnt) {
max_cnt = cnt[a[i]];
max_num = a[i];
}
}
// 输出结果
if (max_cnt == 1) {
printf("每个数出现次数都相同\n");
} else {
printf("出现次数最多的整数是 %d,出现次数为 %d\n", max_num, max_cnt);
printf("出现次数等于 %d 的整数包括:", max_cnt);
for (int i = 0; i < MAX_NUM; i++) {
if (cnt[i] == max_cnt && i != max_num) {
printf("%d ", i);
}
}
printf("\n");
}
return 0;
}
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)