最近"老王"很开心.他在大一的时候参加过数计学院的“软件小组”。告诉你个秘密,这个小组是个好地方,不但活动精彩而且有MM。 这不,这个小组举办了一个叫做“计算机演讲大赛”的节目。这个节目有好多人参加,这不,成绩出来了,"老王"当是很勇敢,自告奋勇接下了算出大家的总得分的任务。 当时有7个评委,每个评委都要给选手打分,现在要求去掉一个最高分和去掉一个最低分,再算出平均分。结果精确到小数点后两位。 Input 测试数据包括多个实例。 每组数据包括7个实数,代表评委们对该选手的评分。紧接着是选手的名字,名字的长度不超过30个字符。 输入直到文件结束。 Output 算出每位选手名字和最终得分,结果保留两位有效数字
时间: 2024-03-23 09:43:51 浏览: 64
好的,以下是一个解决此问题的C语言代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
double scores[7];
char name[31];
while (scanf("%lf%lf%lf%lf%lf%lf%lf", &scores[0], &scores[1], &scores[2], &scores[3], &scores[4], &scores[5], &scores[6]) != EOF) {
double min_score = scores[0], max_score = scores[0], total_score = 0;
for (int i = 0; i < 7; i++) {
if (scores[i] < min_score) min_score = scores[i];
if (scores[i] > max_score) max_score = scores[i];
total_score += scores[i];
}
total_score -= (min_score + max_score);
double avg_score = total_score / 5;
scanf("%s", name);
printf("%s %.2lf\n", name, avg_score);
}
return 0;
}
```
你可以将这段代码复制到你的C语言开发环境中编译和运行。注意,输入数据必须按照题目描述的格式输入,否则程序可能会出错。
阅读全文