用C语言输入n个评委的打分,计算并输出参赛选手的最后得分。计算方法为去除一个最高分和去除一个最低分,其余的进行平均,得出参赛选手的最后得分
时间: 2023-06-15 22:03:30 浏览: 329
评委评分算法(去最高和最低求平均)
下面是C语言的代码实现:
```c
#include <stdio.h>
#define MAX_JUDGE_NUM 10 // 最多的评委人数
int main() {
int n; // 评委人数
int scores[MAX_JUDGE_NUM]; // 评委们的打分
int max_score = -1, min_score = 101; // 最高分和最低分
int sum_score = 0; // 所有评委的总分数
printf("请输入评委的人数(不超过%d个):", MAX_JUDGE_NUM);
scanf("%d", &n);
// 读入每个评委的打分
for (int i = 0; i < n; i++) {
printf("请输入第%d个评委的打分:", i + 1);
scanf("%d", &scores[i]);
// 更新最高分和最低分
if (scores[i] > max_score) {
max_score = scores[i];
}
if (scores[i] < min_score) {
min_score = scores[i];
}
sum_score += scores[i]; // 累加总分数
}
// 去掉一个最高分和一个最低分
sum_score -= max_score;
sum_score -= min_score;
// 计算最终得分并输出
double final_score = sum_score * 1.0 / (n - 2);
printf("参赛选手的最终得分为:%.2f\n", final_score);
return 0;
}
```
程序的核心思路是读入每个评委的打分,同时记录下最高分和最低分,累加总分数。然后去掉一个最高分和一个最低分,计算最终得分并输出。需要注意的是,最终得分要用 `double` 类型存储,否则可能会丢失精度。
阅读全文