下载数据1给的答案是7.00
debug发现s数组存到了7.00但是最后ans竟然只去到一个比它小的数!
#include<iostream>
#include<cstdio>
using namespace std;
int m,n,score[101][21];
double sc,ans=0.000000;
double s[101];
int mmax=0,mmin=10,maxindex,minindex;
int main(){
scanf("%d%d",&n,&m);
for(int i=0;i<n;i++){
mmax=0;mmin=10;
for(int j=0;j<m;j++){
scanf("%d",&score[i][j]);
if(mmax<score[i][j]){
maxindex=j;
mmax=score[i][j];
}
if(mmin>score[i][j]){
minindex=j;
mmin=score[i][j];
}
}
score[i][maxindex]=-1;score[i][minindex]=-1;
for(int j=0;j<m;j++){
if(score[i][j]+1){
sc+=score[i][j];
}
}
s[i]=sc/(m-2);
sc=0.000000;
}
for(int i=0;i<m;i++){
ans=max(max,s[i]);
}
printf("%.2lf",ans);
return 0;
}