某演讲比赛共有十位评委,每位评委对每个参赛选手打分,每位选手的得分为去掉最高分与去掉最低分后的平均分。试用c语言编写程序,要求:从键盘输入每位评委的打分,计算某位选手的成绩
时间: 2023-03-03 12:52:01 浏览: 349
C语言输入学生成绩,计算并输出这些学生的最低分、最高分、平均分。
以下是用 C 语言编写的程序,用于计算某位选手的成绩:
```
#include <stdio.h>
#define JUDGE_NUM 10 // 评委数量
#define SCORE_NUM (JUDGE_NUM - 2) // 参与计算的分数数量
int main() {
float scores[JUDGE_NUM]; // 存储每位评委的分数
float min_score, max_score, sum, average; // 最低分、最高分、总分、平均分
int i;
// 从键盘输入每位评委的分数
for (i = 0; i < JUDGE_NUM; i++) {
printf("请输入第 %d 位评委的分数:", i + 1);
scanf("%f", &scores[i]);
}
// 计算最低分和最高分
min_score = scores[0];
max_score = scores[0];
for (i = 1; i < JUDGE_NUM; i++) {
if (scores[i] < min_score) {
min_score = scores[i];
}
if (scores[i] > max_score) {
max_score = scores[i];
}
}
// 计算总分
sum = 0;
for (i = 0; i < JUDGE_NUM; i++) {
if (scores[i] != min_score && scores[i] != max_score) {
sum += scores[i];
}
}
// 计算平均分
average = sum / SCORE_NUM;
// 输出结果
printf("去掉最高分和最低分后的平均分为:%.2f\n", average);
return 0;
}
```
程序中使用了一个 `scores` 数组来存储每位评委的分数,使用循环从键盘输入每位评委的分数。然后,程序计算最低分和最高分,并使用另一个循环计算总分,去掉最低分和最高分后,计算平均分。最后,程序输出去掉最高分和最低分后的平均分。
阅读全文