- 版块P5738 【深基...
- 楼主NaCl__H2O
- 发帖时间2020-08-08 18:13
- 题目P5738 【深基7.例4】歌唱比赛
@NaCl__H2O 没初始化maxx,minn和sum吧
@星光0000
谢谢大佬,我现在AC两个点了QAQ
@星光0000
az,换成float或者double就成20分了
QAQ
#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;
}
哪里错了,我一直是输出35.00,不明白哪里有问题???