算法
对每个人的成绩边输入边统计max和min
,结束一个人的输入时便减去最值并求平均,最后排序输出即可。
C++ 代码
#include<bits/stdc++.h>
using namespace std;
const int N = 1e4+10;
int n,k,m;
double score[N];
int main()
{
cin>>n>>k>>m;
for(int i=0;i<n;i++)
{
double tmax = -1,tmin = 999;
for(int j=0;j<k;j++)
{
double t;
scanf("%lf",&t);
tmax = max(tmax,t);
tmin = min(tmin,t);
score[i] += t;
}
score[i] -= (tmax+tmin);
score[i] /= (k-2);
}
sort(score,score+n);
for(int i=n-m;i<n;i++)
if(i==n-m)
printf("%.3lf",score[i]);
else
printf(" %.3lf",score[i]);
return 0;
}