题目描述
𝑛(𝑛≤100)n(n≤100) 名同学参加歌唱比赛,并接受 𝑚(𝑚≤20)m(m≤20) 名评委的评分,评分范围是 00 到 1010 分。这名同学的得分就是这些评委给分中去掉一个最高分,去掉一个最低分,剩下 𝑚−2m−2 个评分的平均数。请问得分最高的同学分数是多少?评分保留 22 位小数。
输入格式
第一行两个整数 𝑛,𝑚n,m。
接下来 𝑛n 行,每行各 𝑚m 个整数,表示得分。
输出格式
输出分数最高的同学的分数,保留两位小数。
输入输出样例
输入 #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<iostream>
#include<cstdio>
using namespace std;
int n,m,a[30],b[30];
float maxnum=0;
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++)
{
for(int i=0;i<m;i++)
{
cin>>a[i];
}
int maxa=a[0],mina=a[0];
float avg=0,sum=0;
for(int i=0;i<m;i++)
{
if(a[i]>maxa)
{
maxa=a[i];
}
if(a[i]<mina)
{
mina=a[i];
}
sum+=a[i];
}
avg=(sum-maxa-mina)/(m-2);
if(maxnum<avg) maxnum=avg;
}
printf("%.2f",maxnum);
return 0;
}