假定某一大型比赛中有10名裁判同时为一名体操运动员打分,编写一个程序,输入这10名裁判的打分,输出去掉一个最高分和一个最低分后该运动员的平均得分。在一行中顺序输入10名裁判的打分,其间以1个空格分隔。顺序输出最高分,最低分,平均分,保留3位小数,其间以1个空格分隔,用C语言实现
时间: 2024-02-22 16:59:13 浏览: 87
好的,以下是用 C 语言实现的程序:
```c
#include <stdio.h>
int main()
{
float scores[10]; // 用一个数组来存储10名裁判的打分
// 循环读入10名裁判的打分
for (int i = 0; i < 10; i++) {
scanf("%f", &scores[i]);
}
// 找到最高分和最低分的下标
int max_index = 0, min_index = 0;
for (int i = 1; i < 10; i++) {
if (scores[i] > scores[max_index]) {
max_index = i;
}
if (scores[i] < scores[min_index]) {
min_index = i;
}
}
// 去掉最高分和最低分
float sum_score = 0;
for (int i = 0; i < 10; i++) {
if (i != max_index && i != min_index) {
sum_score += scores[i];
}
}
// 计算平均得分
float avg_score = sum_score / 8;
// 输出最高分、最低分和平均分
printf("%.3f %.3f %.3f\n", scores[max_index], scores[min_index], avg_score);
return 0;
}
```
这个程序会首先让你输入10名裁判的打分,然后找到最高分和最低分的下标,去掉最高分和最低分,最后计算并输出最高分、最低分和平均分,保留3位小数。
阅读全文