如果十个评委分别一个选手打分,去掉最大值和最小值,打分求平均值c语言
时间: 2024-12-24 11:25:20 浏览: 5
在C语言中,如果你需要计算十个评委给一个选手打分后的平均分,并剔除最高分和最低分,可以按照以下步骤进行:
```c
#include <stdio.h>
#define NUM_JUDGES 10 // 判员数量
int main() {
int scores[NUM_JUDGES]; // 存储每个评委的分数
float sum = 0; // 初始化总分
float max_score, min_score; // 最高分和最低分
// 输入所有评委的评分
for (int i = 0; i < NUM_JUDGES; ++i) {
scanf("%d", &scores[i]);
sum += scores[i];
if (i == 0 || scores[i] > max_score) { // 第一次比较或当前分数更大
max_score = scores[i];
}
if (i == 0 || scores[i] < min_score) { // 第一次比较或当前分数更小
min_score = scores[i];
}
}
// 排除最高分和最低分,然后计算剩余得分的平均值
for (int i = 0; i < NUM_JUDGES && i != 0 && i != NUM_JUDGES - 1; ++i) { // 避免越界
sum -= (max_score + min_score); // 减去最大和最小值
sum += scores[i]; // 加上当前分数
}
// 计算并打印平均分
float average = sum / (NUM_JUDGES - 2); // 总数减去2是因为我们排除了两个极端值
printf("去掉最高分和最低分后的平均分为: %.2f\n", average);
return 0;
}
```
阅读全文