GDUFE ACM-1044

题目:http://acm.gdufe.edu.cn/Problem/read/id/1044

青年歌手大奖赛_评委会打分

Time Limit: 2000/1000ms (Java/Others)

Problem Description:

  青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。

Input:

输入数据有多组,每组占一行,每行的第一个数是n(2<n<=100),表示评委的人数,然后是n个评委的打分。

Output:

对于每组输入数据,输出选手的得分,结果保留2位小数,每组输出占一行。

Sample Input:

3 99 98 97
4 100 99 98 97

Sample Output:

98.00
98.50


思路:先排序,然后去掉最高最低分,把剩下的加起来并除以n-2

难度:简单

代码:
#include<stdio.h>
int main()
{
    int n;
    while(scanf("%d",&n)!=EOF)
    {
        int a,b,c,d,i;
        double e;
        int ch[n];
        for(i=0;i<n;i++)
            scanf("%d",&ch[i]);
        for(a=0;a<n;a++)
            for(b=a;b<n;b++)
            if(ch[a]>ch[b])
        {
            c=ch[a];
            ch[a]=ch[b];
            ch[b]=c;
        }
        e=0;
        for(d=1;d<n-1;d++)
            e=e+ch[d];
        printf("%.2lf
",e/(n-2));
    }
    return 0;
}
原文地址:https://www.cnblogs.com/ruo786828164/p/5970958.html