先找到最大值max和最小值min
最后全部数据加起来的和sum再减去max和mix sum = sum - max - min
然后再除以评委个数减2 比如评委总共是i个
最后结果就是
(sum -max -min)/(i - 2)
很简单,用两个变量存最大值最小值即可。
我帮你实现了一个版本,供你参考。如果对你有帮助,望采纳。
#include <stdio.h>
#include <limits.h>
int main() {
int n, a;
while (scanf("%d", &n) == 1) {
double sum = 0;
int max = 0, min = INT_MAX;
for (int i = 1; i <= n; i++) {
scanf("%d", &a);
if (a > max) {
max = a;
} else if (a < min) {
min = a;
}
sum += a;
}
printf("%.3lf\n", (sum - max - min) / (n - 2));
}
return 0;
}
思路:比如从终端输入10个数并进行求和,两两比较找出最大值和最小值
用总和减去最大值和最小值除8即可得平均值