Day1 洛谷P5738 歌唱比赛(C++)

这篇博客介绍了C++中如何使用sort函数对歌唱比赛成绩进行排序。内容涵盖sort函数的基本用法,包括其包含的头文件、参数解释以及如何与自定义比较函数cmp结合实现不同排序逻辑。通过对数组元素的排序,展示了sort函数在C++编程中的应用。

在这里插入图片描述

#include<bits/stdc++.h> 
using namespace std;
int main()
{
	int n,m;//n为参加比赛的人数,m为打分的评委数 
	int a[101][21]={0};//定义二维数组a储存每名选手的打分情况 
	int i,j;//下标i,j用于遍历数组 
	double avg;//求平均数 
	double b;//去掉最高分和最低分后的评委总数 
	double sum=0.0;//求每名选手的总分 
	double total[101]={0};//将每名选手最终得分储存在total数组 
	scanf("%d %d",&n,&m); 
	b=m-2.0;
	for (i=0;i<n;i++)
	{
		for (j=0;j<m;j++)
		{
			scanf("%d",a[i]+j);
		}
	}
	for (i=0;i<n;sum=0.0,avg=0.0,i++)
	{
		sort(a[i],a[i]+m);//快排每一学生的打分情况 
		a[i][0]=0;//将最低分改为0
		a[i][m-1]=0;//将最高分改为0 
		for (j=0;j<m;j++)
		{
			sum+=a[i][j];// 将每位选手去头去尾的成绩加起来 
		}
		avg=sum/b;//avg算出最终的平均值 
		total[i]=avg;//将最终的平均值分别储存在total数组 
	}
	sort(total,total+n);//将total中的成绩快排
	printf("%.2f",total[n-1]);
	return 0;
}

注:C++万能头文件:#include<bits/stdc++.h>
sort函数: 包含在头文件为#include<algorithm>的c++标准库中
语法

Sort(start,end,cmp)

参数
(1)start表示要排序数组的起始地址;
(2)end表示数组结束地址的下一位;
(3)cmp用于规定排序的方法,可不填,默认升序。
功能
sort函数用于C++中,对给定区间所有元素进行排序,默认为升序,也可进行降序排序。
一般是直接对数组进行排序,例如对数组a[10]排序,sort(a,a+10)。而sort函数的强大之处在可与cmp函数结合使用,即排序方法的选择。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值