运动员大赛,有8个裁判给选手打分,分数采用 百分制,去掉一个最高分,去掉一个最低分,然后求平均分得到运动员的最后成绩,打印输出去 掉的最高分、最低分及平均分,保留小数点后1 位。c语言
时间: 2025-01-01 07:42:37 浏览: 13
在C语言中,你可以通过数组存储每个裁判的分数,然后遍历数组,找出最高分和最低分,再计算剩余分数的平均值。下面是一个简单的示例代码:
```c
#include <stdio.h>
#define NUM_JUDGES 8
#define SCORE_MAX 100
int main() {
int scores[NUM_JUDGES]; // 存储裁判分数的数组
float sum = 0.0; // 总分数
int highest_score = 0, lowest_score = SCORE_MAX;
// 输入裁判分数
for (int i = 0; i < NUM_JUDGES; i++) {
printf("请输入第%d个裁判的分数:", i + 1);
scanf("%d", &scores[i]);
if (scores[i] > highest_score) {
highest_score = scores[i];
}
if (scores[i] < lowest_score) {
lowest_score = scores[i];
}
sum += scores[i];
}
// 去除最高分和最低分
sum -= highest_score - lowest_score;
// 计算平均分并保留一位小数
float average_score = (float)sum / (NUM_JUDGES - 2);
// 打印结果
printf("最高分为:%d\n", highest_score);
printf("最低分为:%d\n", lowest_score);
printf("平均分为:%.1f\n", average_score);
return 0;
}
```
在这个程序中,我们首先输入所有裁判的分数,然后更新最高分和最低分。之后从总分中减去这两个极端值,只考虑中间的分数来计算平均分。最后,我们按照题目要求保留一位小数并打印出结果。
阅读全文