蒟蒻求助,谢谢大佬们,我的输出一直是35.00

P5738 【深基7.例4】歌唱比赛

@[NaCl__H2O](/user/309369) 没初始化maxx,minn和sum吧
by StarLbright40 @ 2020-08-08 18:18:03


@[星光0000](/user/128570) 谢谢大佬,~~我现在AC两个点了QAQ~~
by NaCl__H2O @ 2020-08-08 18:25:16


@[NaCl__H2O](/user/309369) ~~换double~~ ``` head[i]=sum/(m-2); ``` 你sum和m都是int型的,就直接除啊(
by StarLbright40 @ 2020-08-08 18:28:16


@[星光0000](/user/128570) az,换成float或者double就成20分了 ~~QAQ~~
by NaCl__H2O @ 2020-08-08 18:33:36


@[星光0000](/user/128570) ```cpp #include<bits/stdc++.h> using namespace std; int cj[10001][10001]; int n; int m; double maxx=0.0,minn=10000001.0; double head[100001]; int sum=0; int j; double mxxx=0.0; void hs(){ for(int i=1;i<=n;i++){ for(j=1;j<=m;j++){ if(cj[i][j]>maxx){ maxx=cj[i][j]; } if(cj[i][j]<minn){ minn=cj[i][j]; } sum+=cj[i][j]; } sum=sum-minn-maxx; maxx=0; minn=0; head[i]=sum/(m-2); sum=0; } for(int i=1;i<n;i++){ for(int k=i+1;k<=n;k++){ if(head[i]<head[k]){ float temp=head[i]; head[i]=head[k]; head[k]=temp; } } } for(int i=1;i<=n;i++){ if(head[i]>mxxx) mxxx=head[i]; } printf("%.2lf",mxxx); } int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ for(int k=1;k<=m;k++){ cin>>cj[i][k]; } } hs(); return 0; }
by NaCl__H2O @ 2020-08-08 18:35:33


|