南投县网站建设_网站建设公司_域名注册_seo优化
2026/1/2 9:01:44 网站建设 项目流程

【题目来源】
https://oj.czos.cn/p/1315

【题目描述】
红太阳杯遥控飞机大赛拉开帷幕。比赛规则为,每位选手让自己的飞机从起点到终点飞行 5 次,组委会记录 5 次的飞行的成绩之后去掉一个最大成绩、一个最小成绩后计算剩余 3 个成绩的平值(平均分保留 3 位小数)作为该选手的最终成绩。有 n 名选手参加了比赛,从键盘读入每位选手的编号以及他们的 5 次飞行的成绩。请根据 n 名选手的比赛成绩,编程计算出冠军、亚军、季军的编号以及组委会计算出的成绩。(假设不存在多名选手成绩正好一样)

【输入格式】
第一行为一个整数 n,代表参加比赛的选手数量(4≤n≤100)。
后面的 n 行,每行有 6 个数,第一个数是选手的编号,后 5 个数为选手的 5 次飞行的成绩。

【输出格式】
3 行:
第一行输出冠军的编号及飞行成绩(保留 3 位小数)用空格隔开 2 个数;
第二行输出亚军的编号及飞行成绩;
第三行输出季军的编号及飞行成绩。

【输入样例】
4
11 58 59 60 61 62
18 59 60 61 62 63
23 65 64 63 62 62 
10 60 61 61 65 62​​​​​​​

【输出样例】
23 63.000
10 61.333
18 61.000

【数据范围】
4≤n≤100​​​​​​​

【算法分析】
● 按结构体某一字段对结构体数组进行排序:https://blog.csdn.net/hnjzsyjyj/article/details/120184972

【算法代码】

#include <bits/stdc++.h>
using namespace std;struct Player {int idx;double ave;
} p[105];double score[10];bool cmp(Player x,Player y) {return x.ave>y.ave;
}int main() {int n;cin>>n;for(int i=0; i<n; i++) {cin>>p[i].idx;for(int j=0; j<5; j++) {cin>>score[j];}sort(score, score+5);double sum=0;for(int j=1; j<=3; j++) {sum+=score[j];}p[i].ave=sum/3;}sort(p,p+n,cmp);for(int i=0; i<3; i++) {printf("%d %.3f\n",p[i].idx,p[i].ave);}return 0;
}/*
in:
4
11 58 59 60 61 62
18 59 60 61 62 63
23 65 64 63 62 62
10 60 61 61 65 62out:
23 63.000
10 61.333
18 61.000
*/





【参考文献】
https://blog.csdn.net/hnjzsyjyj/article/details/156489596
https://blog.csdn.net/hnjzsyjyj/article/details/156489323
https://blog.csdn.net/hnjzsyjyj/article/details/156488957
https://blog.csdn.net/hnjzsyjyj/article/details/156479934
https://blog.csdn.net/hnjzsyjyj/article/details/156466035
https://blog.csdn.net/hnjzsyjyj/article/details/120184972
https://oj.czos.cn/p/1315









 

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询