假定某一大型比赛中有10名裁判同时为一名体操运动员打分,用c语言编写一个程序,输入这10名裁判的打分,输出去掉一个最高分和一个最低分后该运动员的平均得分。
时间: 2024-10-19 16:11:01 浏览: 13
在C语言中,我们可以创建一个简单的控制台程序来处理这个问题。首先,我们需要从用户那里获取10个分数,然后存储在一个数组中。接着找出最高分和最低分并删除它们,最后计算剩余8个分数的平均值。以下是步骤和相应的代码片段:
```c
#include <stdio.h>
int main() {
int scores[10], i, max_score = 0, min_score = INT_MAX;
// 输入10个裁判分数
printf("请输入10个裁判的打分:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &scores[i]);
if (scores[i] > max_score) {
max_score = scores[i];
}
if (scores[i] < min_score) {
min_score = scores[i];
}
}
// 删除最高分和最低分
for (i = 0; i < 10; i++) {
if (scores[i] != max_score && scores[i] != min_score) {
average_scores++; // 计算有效分数的数量
total_scores += scores[i]; // 累加有效分数
}
}
// 计算平均分
double average = (double)total_scores / average_scores;
printf("去掉最高分和最低分后的平均得分是:%.2f\n", average);
return 0;
}
```
在这个程序中,我们使用`scanf`读取分数,用两个变量`max_score`和`min_score`分别记录最大和最小值。然后遍历数组,如果当前分数不是最大或最小,就将其加入到有效分数总数(`average_scores`)中,并累加分数。最后,计算并输出平均值。
阅读全文