c语言完成:参赛选手分数统计。我们学校马上要举行每年一次的运动会了,到时候大家又可以一显身手了!小道消息获知,今年会增加一个自 由体操项目,该比赛凭借艺术性和优美的动作必将受到广泛关注。自由体操比赛为9人裁判制,裁判组的执行分是通过计算9个计分 裁判的执行分的修正平均值来确定的,即去掉最高分(若有多个相同最高分,只去掉一个)和最低分(若有多个相同最低分,只去 掉一个)然后计算出剩余7个裁判的平均分数。假设采用百分制,即最低0分,最高100分,请编程计算某参赛选手的最终比赛分 数。 输入样例(9个裁判分数) 80 85 88 83 80 87 88 89 85 输出样例(最终分数,保留两位小数) 85.14
时间: 2023-04-06 13:00:45 浏览: 99
根据输入的9个裁判分数,可以先将它们从小到大排序,然后去掉最低分和最高分,再计算剩余7个裁判的平均分数即可。具体实现可以参考以下代码:
```c
#include <stdio.h>
#include <stdlib.h>
// 比较函数,用于排序
int cmp(const void *a, const void *b) {
return *(int *)a - *(int *)b;
}
int main() {
int scores[9];
double sum = 0;
for (int i = 0; i < 9; i++) {
scanf("%d", &scores[i]);
}
qsort(scores, 9, sizeof(int), cmp); // 排序
for (int i = 1; i < 8; i++) { // 去掉最高分和最低分
sum += scores[i];
}
printf("%.2f\n", sum / 7); // 计算平均分并输出
return 0;
}
```
注意,输出结果要保留两位小数,可以使用 `printf` 函数的格式化输出来实现。
阅读全文