C语言编写实现以下要求的程序,从键盘输入 n(0<n<100)个整数,计算并输出其中出现次数最多的整数。当有多个不同整数有相同的最多出现次数时,选择值更大的整数。
时间: 2024-11-25 08:09:03 浏览: 31
在C语言中,你可以通过以下几个步骤编写这个程序:
1. 首先,我们需要定义一个全局变量`int max_num`来存储出现次数最多的整数,以及一个变量`int max_count`来记录当前最大出现次数。
2. 然后创建一个数组`int arr[n]`来存储用户输入的整数,并初始化一个计数数组`int count[100]`,用于存储每个整数出现的次数,因为范围限定在0到99之间。
3. 接着,从键盘读取用户输入的整数`num`,更新相应的计数并检查是否需要更新最大数和最大次数。
4. 使用循环遍历整个数组,同时更新计数数组和最大数。
5. 最后,遍历计数数组,找到出现次数最多的数(如果有多个相同的次数,优先考虑较大的数),然后输出它。
下面是简单的C语言代码实现:
```c
#include <stdio.h>
#define MAX_NUMS 100
int main() {
int n, num, max_num = -1, max_count = 0;
int arr[MAX_NUMS], count[MAX_NUMS];
printf("Enter the number of integers (0 < n < 100): ");
scanf("%d", &n);
for(int i = 0; i < n; i++) {
scanf("%d", &num);
arr[i] = num;
// 更新计数
count[num]++;
// 如果当前数更大并且计数更多,则更新最大数
if(num > max_num && count[num] > max_count) {
max_num = num;
max_count = count[num];
}
}
// 找出出现次数最多的数
for(int i = 0; i < MAX_NUMS; i++) {
if(count[i] == max_count && i > max_num) {
max_num = i;
}
}
printf("The integer with maximum frequency is %d and it appears %d times.\n", max_num, max_count);
return 0;
}
```
阅读全文