C++代码:输入个数,问哪个数出现的次数最多。如果有多个出现次数最多的,输出最大的那个数。
时间: 2023-05-27 18:06:55 浏览: 61
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_N 100
int main()
{
int n, nums[MAX_N], max_num, max_cnt = 0;
int cnt[MAX_N] = {0}; // 初始化为0
printf("请输入元素个数:");
scanf("%d", &n);
printf("请输入%d个整数:", n);
for (int i = 0; i < n; i++) {
scanf("%d", &nums[i]);
cnt[nums[i]]++; // 统计每个数字出现的次数
}
for (int i = 0; i < n; i++) {
if (cnt[nums[i]] > max_cnt) {
max_cnt = cnt[nums[i]];
max_num = nums[i];
} else if (cnt[nums[i]] == max_cnt && nums[i] > max_num) {
max_num = nums[i];
}
}
printf("出现次数最多的数字是:%d\n", max_num);
return 0;
}
```
解释:
1. 定义一个大小为 `MAX_N` 的数组 `nums` 存储输入的数字。
2. 定义一个大小为 `MAX_N` 的数组 `cnt` 用于统计每个数字出现的次数。
3. 先输入元素个数 `n`,再输入 `n` 个整数,并统计每个数字出现的次数。
4. 遍历数组 `nums`,找到出现次数最多的数字,如果有多个出现次数最多的,选择最大的。
5. 输出出现次数最多的数字。