
#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函数结合使用,即排序方法的选择。
这篇博客介绍了C++中如何使用sort函数对歌唱比赛成绩进行排序。内容涵盖sort函数的基本用法,包括其包含的头文件、参数解释以及如何与自定义比较函数cmp结合实现不同排序逻辑。通过对数组元素的排序,展示了sort函数在C++编程中的应用。
&spm=1001.2101.3001.5002&articleId=106505162&d=1&t=3&u=68511d598d7f4351b8e63c76e2e4fda1)
707

被折叠的 条评论
为什么被折叠?



