题目描述

某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。期末,每个学生都有3门课的成绩:语文、数学、英语。先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学 排在前面,这样,每个学生的排序是唯一确定的。

任务:先根据输入的3门课的成绩计算总分,然后按上述规则排序,最后按排名顺序输出前五名名学生的学号和总分。注意,在前5名同学中,每个人的奖学金都不相同,因此,你必须严格按上述规则排序。例如,在某个正确答案中,如果前两行的输出数据(每行输出两个数:学号、总分) 是:

7 279 5 279 这两行数据的含义是:总分最高的两个同学的学号依次是7号、5号。这两名同学的总分都是 279 (总分等于输入的语文、数学、英语三科成绩之和) ,但学号为7的学生语文成绩更高一些。如果你的前两名的输出数据是:

5 279 7 279 则按输出错误处理,不能得分。

输入输出格式

输入格式:

输入包含n+1行:

第1行为一个正整数n,不超过300,表示该校参加评选的学生人数。

第2到n+1行,每行有3个用空格隔开的数字,每个数字都在0到100之间。第j行的3个数字依次表示学号为j-1的学生的语文、数学、英语的成绩。每个学生的学号按照输入顺序编号为1~n(恰好是输入数据的行号减1)。

所给的数据都是正确的,不必检验。

//感谢 黄小U饮品 修正输入格式

输出格式:

输出共有5行,每行是两个用空格隔开的正整数,依次表示前5名学生的学号和总分。

输入输出样例

输入样例#1:

6
90 67 80
87 66 91
78 89 91
88 99 77
67 89 64
78 89 98

输出样例#1:

6 265
4 264
3 258
2 244
1 237

输入样例#2:

8
80 89 89
88 98 78
90 67 80
87 66 91
78 89 91
88 99 77
67 89 64
78 89 98

输出样例#2:

8 265
2 264
6 264
1 258
5 258

源代码

#include<iostream>
using namespace std;
int main()
{int n;int i,j;int math,english,grade;int result[500][2]={0},chinese[500]={0};cin>>n;for(i=1;i<=n;i++){cin>>chinese[i]>>math>>english;grade=chinese[i]+math+english;result[i][0]=i;result[i][1]=grade;}for(i=1;i<=n-1;i++){for(j=1;j<=n-i;j++){if(result[j][1]<result[j+1][1])//按总分排序{swap(result[j][0],result[j+1][0]);swap(result[j][1],result[j+1][1]);swap(chinese[j],chinese[j+1]);}else if( result[j][1]==result[j+1][1] && chinese[j]<chinese[j+1])//按语文成绩排序{swap(result[j][0],result[j+1][0]);swap(result[j][1],result[j+1][1]);swap(chinese[j],chinese[j+1]);}else if( result[j][1]==result[j+1][1] && chinese[j]==chinese[j+1] && result[j][0]>result[j+1][0] )//按学号排序{swap(result[j][0],result[j+1][0]);swap(result[j][1],result[j+1][1]);swap(chinese[j],chinese[j+1]);}           }}for(i=1;i<=5;i++)cout<<result[i][0]<<" "<<result[i][1]<<endl;return 0;
}

奖学金(洛谷-P1093)相关推荐

  1. 排序——奖学金(洛谷 P1093)

    题目选自洛谷P1093 这里不再讲述各种基本排序实现,如想了解可以参考我之前的算法里的几种排序算法知识点. 主要讲述在竞赛过程中,我们如何将排序算法运用到解题当中来,一般情况下,需要用到排序的时候,我 ...

  2. 信息学奥赛一本通 1179:奖学金 | 1938:【07NOIP普及组】奖学金 | OpenJudge NOI 1.10 04 | 洛谷 P1093 [NOIP2007 普及组] 奖学金

    [题目链接] ybt 1179:奖学金 ybt 1938:[07NOIP普及组]奖学金 OpenJudge NOI 1.10 04:奖学金 洛谷 P1093 [NOIP2007 普及组] 奖学金 [题 ...

  3. 信息学奥赛一本通 1839:【05NOIP提高组】谁拿了最多奖学金 | OpenJudge NOI 1.9 04:谁拿了最多奖学金 | 洛谷 P1051 [NOIP2005 提高组] 谁拿了最多奖学金

    [题目链接] ybt 1839:[05NOIP提高组]谁拿了最多奖学金 OpenJudge NOI 1.9 04:谁拿了最多奖学金 洛谷 P1051 [NOIP2005 提高组] 谁拿了最多奖学金 [ ...

  4. 洛谷 P1093 [NOIP2007 普及组] 奖学金 AC100分

    我的个人中心 - 洛谷https://www.luogu.com.cn/user/674685 题目描述 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金.期末,每个学生 ...

  5. 洛谷——P1093 奖学金

    题目描述 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金.期末,每个学生都有3门课的成绩:语文.数学.英语.先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高 ...

  6. 每日一题 --- P1093 [NOIP2007 普及组] 奖学金[洛谷][JAVA]

    题目: 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金.期末,每个学生都有3门课的成绩:语文.数学.英语.先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到 ...

  7. 洛谷——P1093 [NOIP2007 普及组] 奖学金

    文章目录 [NOIP2007 普及组] 奖学金 题目描述 输入格式 输出格式 样例 #1 样例输入 #1 样例输出 #1 样例 #2 样例输入 #2 样例输出 #2 测试点信息 [NOIP2007 普 ...

  8. 用面向对象解决问题(洛谷P1093题题解,Java语言描述)

    题目链接 P1093题目链接 分析 我们需要排序,不如用TreeMap或者TreeSet,但有三个关键词,所以确实不好办. 斟酌再三,决定用TreeSet,而且将三个属性完全封装为一个类而不是一个1对 ...

  9. 【暑期每日一题】洛谷(一)

    [暑期每日一题]洛谷 P1048 [NOIP2005 普及组] 采药 [暑期每日一题]洛谷 P1048 [NOIP2005 普及组] 采药_辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为 ...

最新文章

  1. linux音频驱动dma数据,Linux音频驱动简述
  2. 提升网站优化排名的前提是什么?
  3. SDUT2608(Alice and Bob)
  4. matlab中句点,matlab入门学习(一)
  5. 牛客网——数字求和(水题
  6. pyspider all 只启动了_我是如何让微博绿洲的启动速度提升30%的(二)
  7. 国内首个比特币勒索病毒案告破,三年获利 500 万!
  8. 【1138】数据结构上机测试2-1:单链表操作A(顺序建表+删除节点)(SDUT)
  9. volatile 线程内存模型
  10. uva 10330(最大流)
  11. android绘制矢量图地图,Android 高级 UI 进阶之路 (七) SVG 基础使用 + 绘制中国地图...
  12. Win系统 - 该死!WebGL 遇到了问题 (chrome浏览器)
  13. ubuntu查看电脑配置信息
  14. 14-受控组件和非受控组件使用
  15. 关于python教学
  16. MySQL备份和还原操作
  17. windows10无法搜索计算机,win10搜索功能失效用不了如何解决|win10搜索功能搜不了文件的解决方法...
  18. python任务分配问题_【python3】任务分配问题
  19. 报错:Error querying database. Cause: java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘
  20. css修改element组件中el-date-picker中的placeholder样式失效

热门文章

  1. 8个应用案例告诉你,机器学习都能做什么?
  2. 清华大学张文增教授110页PPT讲专利申请、检索与解读
  3. 2017 年度书单 Top 10
  4. 双12压测引出的线上Full GC排查
  5. HTTPS 的 7 次握手以及 9 倍时延
  6. docker安装xxl-job-admin步骤
  7. JEECG再创新举,开辟支付宝服务窗开发新时代,业内独家培训 《支付宝服务窗实战培训》
  8. Jeecg平台扩展性不好的地方收集启动。
  9. 建立和使用Maven项目骨架Archetype
  10. 微信开放平台 公众号第三方平台开发 教程四 代公众号调用接口的SDK和demo