时间限制: 1Sec 内存限制: 128MB

题目描述:(原题链接)

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

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

7 279

5 279

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

5 279

7 279

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


输入:

输入包含n+1行:
第1行为一个正整数n,表示该校参加评选的学生人数。
第2到n+1行,每行有3个用空格隔开的数字,每个数字都在O到100之间z第1行的3个数 字依次表示学号为j-1的学生的语文、数学、英语的成绩。每个学生的学号按照输入顺序编号为l~n (恰好是输入数据的行号减1)。

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

样例输入:

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


输出:

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

样例输出 :

6 265
4 264
3 258
2 244
1 237


解题思路:

利用面向对象的思想,封装学生的id,yu,shu,wai属性,并重写比较方法和输出方法

注意事项:

在判断时不要漏掉else部分的处理

参考代码:

import java.util.Arrays;
import java.util.Scanner;class P1106 implements Comparable<Object>{int id,yu,shu,wai;P1106(int id,int yu,int shu,int wai){this.id=id;this.yu=yu;this.shu=shu;this.wai=wai;}private  int sum() {return (yu+shu+wai);}@Overridepublic int compareTo(Object o) {  //重写比较方法P1106 o1 = (P1106)o;int flag=0;if(this.yu+this.shu+this.wai>o1.yu+o1.shu+o1.wai)      flag=1;else if(this.yu+this.shu+this.wai==o1.yu+o1.shu+o1.wai) {if(this.yu>o1.yu) {flag=1;}else if (this.yu==o1.yu) {if(this.id<o1.id)flag=1;else {flag=-1;}}else {flag=-1;}}else {flag=-1;}return flag;}public String toString() {   //重写输出方法的个格式return ""+id+" "+sum();}public static void main(String[] args) {Scanner in = new Scanner(System.in);int n=in.nextInt();              //参与人数P1106 arr[] = new P1106 [n];for(int i=0;i<n;i++) {arr[i] =new P1106(i+1,in.nextInt(),in.nextInt(), in.nextInt());   //存储id=i+1}Arrays.sort(arr);for(int i=arr.length-1;i>=arr.length-5;i--)System.out.println(arr[i]);in.close();}
}

题目 1106: 奖学金相关推荐

  1. 1192: 奖学金(结构体专题)模块化

    题目 1192: 奖学金(结构体专题) 时间限制: 1 Sec 内存限制: 128 MB 提交: 3495 解决: 2230 某校发放奖学金共5种,获取条件各不同: 1.阳明奖学金,每人8000,期末 ...

  2. 结构体中重载大于小于号用于排序

    struct score //结构体 {int a,b,c; // 结构体中的元素bool operator< (const score& t) const {//优先级大的相对靠上写i ...

  3. 计算机表格填充奖学金,excel奖学金数据表格-Excel2003的一个题目按总分公式填充奖学金数据,总......

    在Excel表格中两张表,都有学号和奖学金这两列.两... 1.首先打开Excel,进入到编辑主界面. 2.接着将学生成数据信息,输入到表中,最后一列学金. 3.然后选中F2单元格,输入公式" ...

  4. 首场见习挑战赛倒计时3天!20000元奖学金瓜分就等你了!

    CSDN软件开发精英赛是基于"C认证-软件工程师能力认证考试"而设立的编程比赛,大赛联合广大科技企业设置丰厚礼品及30万元奖学金.从7月22日官宣到今日,短短一个月内,大赛已经吸引 ...

  5. 1008c语言答案,c语言大作业题目01008.doc

    c语言大作业题目01008 一.学生信息管理程序 基本要求: 1.要求实现学生信息的查找.添加.删除.修改.浏览.保存.从文件读取.查看奖学金信息8个功能,每个功能模块均能实现随时从模块中退出,而且可 ...

  6. 香港城市大学、港理工招收博士生,有奖学金机会

    如今,又到了博士招生的季节,我们整理了海内外多所实验室的招生信息.本期我们将为大家介绍香港城市大学.香港理工大学招生信息.希望这些消息对准备继续深造的你有所帮助. 香港城市大学计算机系助理教授 马辰 ...

  7. 链家秋招内推编程笔试题目

    参加8.19的链家内推笔试,总体来说题目难度不大,20个选择题还有三道编程题. 选择题,里面有两道关于IP地址计算的题目,有点忘了,不知道最后的计算有没有问题,所以还需要复习学习完的知识, 因为不知道 ...

  8. HDOJ HDU 1106 排序 ACM 1106 IN HDU

    //MiYu原创, 转帖请注明 : 转载自 ______________白白の屋 题目地址 :             http://acm.hdu.edu.cn/showproblem.php?pi ...

  9. 你是AI王者吗?2018人工智能专业期末考试,66666奖学金等你来

    机器之心知识委员会 机心通知函[2018]001号 关于 2018 学年人工智能专业期末考试安排的通知 各人工智能研究者.工程师.从业人: 首先祝大家圣诞快乐. 2018 年是人工智能迅猛发展的一年, ...

最新文章

  1. 安卓按键精灵_月薪3w的按键精灵大神都是从这个命令开始起步的
  2. 第四范式携手智源研究院 共推全球最大智能模型应用发展
  3. 常见的排序算法二——希尔排序
  4. 2021高通人工智能创新大赛垃圾分类赛题第五次研讨会
  5. C++ 复杂、内存漏洞,2019 年的软件开发并不安全!
  6. 【LDAP】LDAP常用命令解析
  7. (转)Steve Cohen:重出江湖?(上)
  8. vs番茄助手的方便功能和便捷快捷键介绍
  9. 嵌入式系统作业12(SD卡读取)
  10. Alcor(安国)AU6387量产修复(u盘修复)
  11. windows下批量创建txt文件
  12. VSCode加入右键功能菜单
  13. 反向题在测试问卷信效度_科学网—调查问卷的信度、效度分析方法(转载) - 谢卫军的博文...
  14. 2022年最新广东道路运输安全员真题题库及答案
  15. c++判断整数翻转溢出_C++整数溢出
  16. git切换远程分支为develop
  17. Excel无法打开文件新建 XLSX 工作表.xlsx,因为文件格式或文件扩展名无效。请确定文件未损坏解决办法【笔记】
  18. PKUSC 模拟赛 day1 下午总结
  19. json和ajax的使用
  20. php fpm iamp,基于IAMP的WEB安全模型

热门文章

  1. 3分钟学会Python的for循环语句-生如夏花,Python延年
  2. telnet服务器 账号密码,。。。TELNET的帐号和密码。。。
  3. ios 游戏《魂斗罗》 AL文件素材破解
  4. 新财报表现“中庸”股价却反势走高,为何投资者这么偏爱苹果?
  5. php微信公众号红包开发,php微信公众号开发之现金红包
  6. 为什么苹果文件连接服务器没反应,win7系统连接苹果设备后没反应怎么办
  7. python入门教程第28讲_Python爬虫入门教程第二十八讲: 《海王》评论数据抓取 scrapy...
  8. 【Android 10 源码】深入理解 MediaCodec 组件分配
  9. android开发经典难题,今年安卓开发中碰到的几个稀奇古怪的问题
  10. 使用基于MI的脑机接口在Google Street View中进行实时导航