设计C语言代码: 这是一个比赛评分时要求去掉最高分和最低分,然后对剩下的得分求平均值的问题。现在有10个评委打分,需要输入你的10个分数,去掉最高和最低分后计算平均得分,并输出平均分。
时间: 2024-02-21 08:59:51 浏览: 66
好的,以下是一个使用C语言实现的程序,可以解决这个问题:
```c
#include <stdio.h>
int main() {
float scores[10];
float max_score = 0, min_score = 100, sum_score = 0, avg_score;
int i;
// 输入10个评委的分数
for (i = 0; i < 10; i++) {
printf("请输入第%d个评委的分数:", i+1);
scanf("%f", &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) {
sum_score += scores[i];
}
}
// 计算平均分并输出结果
avg_score = sum_score / 8;
printf("去掉最高分和最低分后的平均得分为:%.2f\n", avg_score);
return 0;
}
```
以上程序定义了一个包含10个元素的数组来存储评委的分数。程序使用for循环来输入10个评委的分数,并且在输入过程中找到最高分和最低分。然后,程序再使用for循环计算除去最高分和最低分后的总分数,并计算平均分。最后,程序使用printf()函数输出平均分。
注意,由于C语言中数组下标从0开始,因此在代码中使用i从0到9来遍历数组。另外,由于题目要求去掉最高分和最低分后计算平均分,因此计算平均分时除以的是8而不是10。
您可以将以上代码复制到C语言编译器中运行,然后输入10个评委的分数,程序将会输出去掉最高分和最低分后的平均得分。
阅读全文