[PTA]奖学金

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

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

 

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        List<Student> list=new ArrayList();
        int n=sc.nextInt();
        for(int i=1;i<=n;i++){
            list.add(new Student(i,sc.nextInt(),sc.nextInt(),sc.nextInt()));
        }
        Collections.sort(list);
        for(int j=0;j<5;j++){
            System.out.println(list.get(j).no+" "+list.get(j).sum);
        }
    }
}

class Student implements Comparable<Student>{
    int no;
    int chinese;
    int math;
    int english;
    int sum;

    public Student(int no, int chinese, int math, int english) {
        this.no = no;
        this.chinese = chinese;
        this.math = math;
        this.english = english;
        this.sum = chinese+math+english;
    }

    @Override
    public int compareTo(Student o) {
        if(this.sum==o.sum){
            if(this.chinese==o.chinese)
                return this.no-o.no;  //从小到大
            else
                return o.chinese-this.chinese;  //从大到小
        }
        else
            return o.sum-this.sum;//从大到小
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
蓝桥杯大赛,全称是蓝桥杯全国软件和信息技术专业人才大赛,是由中华人民共和国工业和信息化部人才交流中心主办,国信蓝桥教育科技(北京)股份有限公司承办的计算机类学科竞赛。这是一个全国高校参加的赛事,累计参赛人数已经超过40万人,旨在推动软件和信息技术产业的发展,促进软件和信息技术专业技术人才培养,向软件和信息技术行业输送具有创新能力和实践能力的高端人才,提升高校毕业生的就业竞争力,全面推动行业发展及人才培养进程。 蓝桥杯大赛的考试范围涵盖了基本数据类型及类型转换、变量与常量、字符与字符串、数组、赋值运算符、算数运算符逻辑运算符、关系运算符,顺序结构、分支结构、循环结构程序设计,函数定义和使用,变量的作用域,递归函数,简单算法,基本数据结构,指针,基本算法等。 蓝桥杯大赛的难度相对于ACM和程序设计竞赛而言题目要简单一些,比赛形式为个人赛,一共有十道题目,题目难度顺序一般按照由易到难。前面几道题目一般是给出题面问一个特定的答案,只需要在本地计算然后提交答案。中间会有程序填空题,根据题意填空。后面的题目就是需要提交代码,跑通给定的案例。题目完全为客观题型,选手所提交作答的运行结果为主要评分依据,比赛不能携带纸质资料。 蓝桥杯大赛已被列入中国高等教育学会发布的“全国普通高校学科竞赛排行榜”,成为高校教育教学改革和创新人才培养的重要竞赛项目。对于学生而言,参与蓝桥杯大赛不仅有助于提升个人的编程和解决问题的能力,还可以在奖学金评定、升学考研等方面带来一定的助益。 请注意,蓝桥杯大赛的赛制、考试范围等可能会根据每年的具体情况有所调整,建议访问蓝桥杯大赛官网或关注相关新闻报道,以获取最新和最准确的信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值