C语言从键盘输入n个数直到小于等于0为止,求最大值最小值和平均数
时间: 2024-12-17 14:55:26 浏览: 2
C语言程序设计-编写程序。从键盘读入8个整数存入数组a中并输出这8个数据。和、最大值、最小值及平均值。正数之和、负数之和
5星 · 资源好评率100%
在C语言中,你可以通过循环结构结合用户输入来实现这个功能。以下是一个简单的步骤描述:
1. 首先,提示用户输入数字,并声明变量`n`, `max`, `min`以及`total`来存储输入的总数、最大值、最小值和所有数字之和。
2. 使用一个无限循环(while true),直到用户输入的数字小于或等于0,这时跳出循环。
3. 在每次循环中,读取用户的输入并检查是否大于当前的最大值和小于当前的最小值。如果是,则更新它们的值。同时将输入添加到总和`total`中。
4. 循环结束后,计算平均数,即`total`除以`n`。
5. 最后,打印出最大值、最小值和平均数的结果。
下面是一个基本的示例代码片段(注意这只是一个简化版的示例,未包括错误处理或输入验证):
```c
#include <stdio.h>
int main() {
int n = 0;
int num, max = INT_MIN, min = INT_MAX; // 初始化最大和最小值为整型的最小和最大值
float total = 0;
printf("请输入数字(直到输入负数结束):");
while (scanf("%d", &num) == 1) { // 读取整数输入
n++;
if (num > max) {
max = num;
}
if (num < min) {
min = num;
}
total += num;
// 检查是否输入负数,如果是则退出循环
if (num <= 0) break;
}
if (n > 0) {
float average = (float)total / n;
printf("最大值: %d\n", max);
printf("最小值: %d\n", min);
printf("平均数: %.2f\n", average);
} else {
printf("没有输入任何数字。\n");
}
return 0;
}
```
阅读全文