歌唱比赛

题目描述

n(n\le 100)n(n100) 名同学参加歌唱比赛,并接受 m(m\le 20)m(m20) 名评委的评分,评分范围是 0 到 10 分。这名同学的得分就是这些评委给分中去掉一个最高分,去掉一个最低分,剩下 m-2m2 个评分的平均数。请问得分最高的同学分数是多少?评分保留 2 位小数。

输入格式

输出格式

输入输出样例

输入 #1
7 6
4 7 2 6 10 7
0 5 0 10 3 10
2 6 8 4 3 6
6 3 6 7 5 8
5 9 3 3 8 1
5 9 9 3 2 0
5 8 0 4 1 10
输出 #1
6.00
直接上代码:
#include<bits/stdc++.h>
using namespace std;
int a[10001],n,m;
double q,ans,x,minn=1e9,maxx;
int main() {
    cin>>n>>m;
    for(int i=1; i<=n; ++i) {
        for(int j=1; j<=m; ++j) cin>>x,ans+=x,minn=min(x,minn),maxx=max(maxx,x);//计算当前最高分、最低分、总分
        ans=ans-minn-maxx;//减去最高分和最低分
        ans=1.0*ans/(1.0*(m-2));//计算平均分
        if(ans>q) q=ans;//取最大值
        ans=0;
        minn=1e9;//两个变量的初始化
    }
    printf("%0.2f\n",q);
    return 0;
}
posted @ 2021-05-27 19:22  zhuhaoran0330  阅读(140)  评论(0)    收藏  举报