专栏文章

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

P5738题解参与者 3已保存评论 4

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
3 条
当前快照
1 份
快照标识符
@miozlhnm
此快照首次捕获于
2025/12/03 03:44
3 个月前
此快照最后确认于
2025/12/03 03:44
3 个月前
查看原文

题解:P5738 【深基7.例4】歌唱比赛。

题意:

nn 名同学接受 mm 名评委的评分,每名同学得分去掉一个最高分和最低分,剩下 m2m − 2 个评分的平均数就是最终得分,求最高的得分。

解法:

  1. 先算每名同学的总得分。
  2. 再减去最低分和最高分。
  3. 记录最高的总得分。
  4. 输出最高得分除以 m2m-2 即可。
  5. 记得保留 22 位小数。

code

CPP
#include<bits/stdc++.h>
using namespace std;
double a[105][25];
double q[105];
double w[105];
int main(){
	int n,m;
	cin>>n>>m;
	double sum=0;
	for(int i=1;i<=n;i++){
		w[i]=15;
	}
	for(int i=1;i<=n;i++){ 
		for(int j=1;j<=m;j++){
			cin>>a[i][j];
			w[i]=min(a[i][j],w[i]);
			q[i]=max(a[i][j],q[i]);//记录最高分和最低分。
		}
	}
	
	for(int i=1;i<=n;i++){
		double s=0;
		for(int j=1;j<=m;j++){
			s+=a[i][j];//计算每名同学的总得分。
		}
		s-=w[i];
		s-=q[i];//减去最低分和最高分。
		sum=max(sum,s);//记录最高的总得分。
	} 
	printf("%.2lf",sum/(m-2));
} 

评论

4 条评论,欢迎与作者交流。

正在加载评论...