用c语言编程 输入n个整数,找出其中的最大值,并统计输出最大值出现的次数
时间: 2024-12-17 09:46:30 浏览: 22
在 C 语言中,你可以使用一个数组来存储 n 个整数,然后遍历整个数组找到最大值并同时记录其出现的次数。下面是一个简单的示例程序:
```c
#include <stdio.h>
int main() {
int n, num, max_value = INT_MIN, count = 0; // INT_MIN 代表负无穷大初始值,防止第一个输入即是最小值的情况
printf("请输入整数的数量 (n): ");
scanf("%d", &n);
// 动态分配内存,以存储 n 个整数
int *arr = malloc(n * sizeof(int));
if (arr == NULL) { // 检查内存分配是否成功
perror("Memory allocation failed");
return 1;
}
printf("请输入 %d 个整数:\n", n);
for (int i = 0; i < n; i++) {
scanf("%d", &num);
arr[i] = num;
// 比较当前数值与已知最大值,更新最大值和计数
if (num > max_value) {
max_value = num;
count = 1; // 若找到新的最大值,计数重置为1
} else if (num == max_value) {
count++; // 若值相等,则增加计数
}
}
printf("最大值是:%d,出现了 %d 次。\n", max_value, count);
free(arr); // 释放动态分配的内存
return 0;
}
```
在这个程序中,我们首先读取用户输入的整数数量 n,然后创建一个大小为 n 的数组。接着,我们逐个读入整数并将它们存储到数组中,同时也更新最大值及其出现次数。最后,打印出最大值和它的出现次数。
阅读全文