SDUT OJ 1121 英文金曲大赛

54 阅读1分钟

英文金曲大赛

Time Limit: 1000 ms  Memory Limit: 65536 KiB

Submit  Statistic  Discuss

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 fen
{
    double a[7];
    char name[30];
};


int main()
{
    int i;
    struct fen p;
    while(scanf("%lf",&p.a[0])!=EOF){
    for(i=1; i<7; i++){
        scanf("%lf",&p.a[i]);
    }
    scanf("%s",p.name);
    int m,n;
    double max,min;
    max=min=p.a[0];
    m=n=0;
    for(i=0; i<7; i++){
        if(p.a[i]>max){
            max=p.a[i];
            m=i;
        }
        if(p.a[i]<min){
            min=p.a[i];
            n=i;
        }
    }
    double aver,s;
    for(i=0,s=0; i<7; i++ ){
        if(i!=m&&i!=n){
            s=s+p.a[i];
        }
    }
    aver=s/5;
    printf("%s %.2f\n",p.name,aver);
    }
    return 0;
}

\