输入若干整数,以-1结束,去掉最大值和最小值,求平均值 【输入形式】输入数据以空格分隔 【输出形式】保留小数点后两位 【样例输入】1 2 3 -1 【样例输出】2.00 【样例说明】注意输入数据若小于3个,输出error,C语言
时间: 2023-11-28 10:05:15 浏览: 110
C语言用自己输入的数组求平均数
5星 · 资源好评率100%
以下是 C 语言的实现代码:
```c
#include <stdio.h>
int main() {
int num, max = -1000000, min = 1000000, count = 0;
double sum = 0.0;
while (1) {
scanf("%d", &num);
if (num == -1) {
break;
}
if (count == 0) {
max = min = num;
} else {
if (num > max) {
max = num;
}
if (num < min) {
min = num;
}
}
sum += num;
count++;
}
if (count < 3) {
printf("error");
} else {
sum = sum - max - min;
double avg = sum / (count - 2.0);
printf("%.2f", avg);
}
return 0;
}
```
算法思路:
1. 使用 `while` 循环读取输入的整数,直到读到 -1。
2. 在读取第一个数时,将其同时赋值给 `max` 和 `min` 变量。
3. 在读取后续的数时,判断该数是否比当前的 `max` 大,如果是,则将其赋值给 `max`;判断该数是否比当前的 `min` 小,如果是,则将其赋值给 `min`。
4. 将所有输入数的和累加到 `sum` 变量中,并记录输入的数的个数到 `count` 变量中。
5. 如果输入数的个数小于 3,输出 "error"。
6. 否则,将最大值和最小值从 `sum` 中减去,计算剩下的数的平均值,并输出结果(保留小数点后两位)。
阅读全文