栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

洛谷 P5738歌唱比赛 题解

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

洛谷 P5738歌唱比赛 题解

这次我们认真地(?)来写一篇题解

一半经验

我们先来看一下之前那题的代码:

#include
using namespace std;
int main()
{
	int n;
	double sum=0,ave;
	cin>>n;
	int a[1000];
	for(int i=0;i<=n-1;i++) 
	{
		cin>>a[i];
		sum+=a[i];
	}
	for(int k=1;k<=n;k++)
	{
		for(int i=0;i<=n-2;i++) 
			if(a[i]>a[i+1]) swap(a[i],a[i+1]);
	}
	ave=(sum-a[0]-a[n-1])/(n-2);
	cout< 

很显然,两题中要求的算分方法是一样的,都是去掉一个最高分和一个最低分然后求平均值。但是开一个数组来保存选手们的分数其实没有必要,我们可以逐个地算,然后打擂台比大小

  

#include
using namespace std;
int main()
{
	double max=0,temp,sum;
	int n,m;
	cin>>n>>m;
	double a[m];
	for(int i=1;i<=n;i++)
	{
		for(int k=0;k<=m-1;k++) 
		{
			cin>>a[k];
			sum+=a[k];
		}
		sort(a,a+m);
		temp=(sum-a[0]-a[m-1])/(m-2);
		if(temp>max) max=temp;
		sum=0;
	}
	cout< 

因为作者非常糟糕,所以若有不足请在评论区中指出。 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1022654.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号