求助80分,答案算出来了但是取不到
查看原帖
求助80分,答案算出来了但是取不到
473904
Miracle516楼主2024/11/2 09:57

下载数据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;
}
2024/11/2 09:57
加载中...