C语言,输入若干整数,以-1结束,去掉最大值和最小值,求平均值,保留小数点后两位
时间: 2023-09-24 07:11:24 浏览: 220
从输入的一批正整数中求出最大值、最小值和平均值,输入0结束数据的输入
以下是C语言的代码实现:
```c
#include <stdio.h>
int main() {
int num, max = -2147483647, min = 2147483647, sum = 0, count = 0;
while (1) {
scanf("%d", &num);
if (num == -1) {
break;
}
if (num > max) {
max = num;
}
if (num < min) {
min = num;
}
sum += num;
count++;
}
double avg = (double)(sum - max - min) / (count - 2);
printf("%.2f", avg);
return 0;
}
```
代码中定义了变量`num`用于输入整数,`max`和`min`用于记录最大值和最小值,`sum`用于累加输入的数的和,`count`用于记录输入的数的个数。
使用while循环不断输入整数,直到输入-1为止。在输入的过程中,对于每个输入的数,如果它比当前的最大值还要大,则更新最大值,如果它比当前的最小值还要小,则更新最小值,同时累加输入的数的和并且统计输入的数的个数。
最后,计算去掉最大值和最小值后的平均值,并使用`printf`函数输出结果,保留小数点后两位。
阅读全文