从键盘输入不确定个数几个数用循环语句找出最大值并计算该值出现的次数c语言
时间: 2024-11-17 09:29:19 浏览: 29
在 C 语言中,你可以使用 while 循环结合数组来实现这个功能。首先,我们需要动态分配内存来存储用户输入的数值,然后通过遍历数组找到最大值,并记录它的出现次数。以下是简单的步骤:
```c
#include <stdio.h>
#include <stdlib.h> // 包含动态内存分配的头文件
int main() {
int *numbers; // 动态数组指针
int n = 0; // 存储输入的元素个数
int max_value = INT_MIN; // 初始化最大值为整型最小值
int count = 0; // 记录最大值出现的次数
printf("请输入数字的数量: ");
scanf("%d", &n);
numbers = (int*) malloc(n * sizeof(int)); // 分配内存空间
if (numbers == NULL) {
printf("内存分配失败!\n");
return 1;
}
for (int i = 0; i < n; i++) {
printf("请输入第 %d 个数字: ", i + 1);
scanf("%d", &numbers[i]);
// 检查是否超过当前的最大值
if (numbers[i] > max_value) {
max_value = numbers[i];
count = 1; // 如果新值更大,重置计数器
} else if (numbers[i] == max_value) { // 否则如果新值等于最大值
count++; // 增加计数
}
}
printf("最大值是: %d\n", max_value);
printf("最大值出现了 %d 次。\n", count);
free(numbers); // 释放动态内存
return 0;
}
阅读全文