Problem Description
我们在“渊子数”的题目中已经了解了渊子是个什么样的人了,他在大一的时候参加过工商学院的“英语聚乐部”。告诉你个秘密,这个俱乐部是个好地方,不但活动精彩而且有MM。
这不,英语俱乐部举办了一个叫做“英文金曲大赛”的节目。这个节目有好多人参加,这不,成绩出来了,渊子当是很勇敢,自告奋勇接下了算出大家的总得分的任务。
当时有7个评委,每个评委都要给选手打分,现在要求去掉一个最高分和去掉一个最低分,再算出平均分。结果精确到小数点后两位。
Input
测试数据包括多个实例。
每组数据包括7个实数,代表评委们对该选手的评分。紧接着是选手的名字,名字的长度不超过30个字符,且没有空格。
输入直到文件结束。
Output
算出每位选手名字和最终得分,结果保留两位小数。
Sample Input
10 10 10 10 10 10 9 xiaoyuanwang
0 0 0 0 0 0 0 beast
Sample Output
xiaoyuanwang 10.00
beast 0.00
代码:
#include <stdio.h>
#include <stdlib.h>
struct st
{
int sc[7];
char name[31];
}s1;
int main()
{ int i,j,t,s,k;
while(~scanf("%d %d %d %d %d %d %d",&s1.sc[0],&s1.sc[1],&s1.sc[2],&s1.sc[3],&s1.sc[4],&s1.sc[5],&s1.sc[6]))
{
scanf("%s",s1.name);
for(i=0;i<6;i++)
{
k=i;
for(j=k+1;j<7;j++)
{
if(s1.sc[k]>s1.sc[j])
k=j;
}
if(i!=k)
{
t=s1.sc[i];
s1.sc[i]=s1.sc[k];
s1.sc[k]=t;
}
}
s=0;
for(i=1;i<6;i++)
{
s=s+s1.sc[i];
}
printf("%s %.2lf\n",s1.name,s/5.0);
}
return 0;
}