评奖I

作者: Airycode | 来源:发表于2018-04-20 12:45 被阅读64次

东东所在的班级有 NN 名同学,期末考试进行了数学、语文、英语、地理四门功课的测试。班主任要将这 NN 名学生中总分前三名定为本学期的“学习小标兵”。现在给出这 NN 名学生的姓名和各科成绩,请你编程找到总分前三名,并依次输出他们的姓名。所给数据不会有总分相同的情况。

输入格式

输入包含 N + 1N+1 行,第一行仅有一个正整数 NN (N \leq 40N≤40),表示东东班里学生的总数,接下来的 NN 行,每行描述一个学生的考试信息,依次为姓名、数学成绩、语文成绩、英语成绩与地理成绩,两两之间用一个空格分隔。注意:姓名(不会同名)都用小写字母表示(不超过 1010 个字母),成绩全都是不超过 200200 的非负整数。

输出格式

输出包含三行,每行仅包含一个学生的姓名,依次为第一名到第三名学生的姓名。

样例输入

4
jing 98 90 87 74
ming 96 92 85 97
jun 95 78 56 91
hong 95 100 85 78
样例输出

ming
hong
jing

import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;

public class Main {

    static class Student{
        String name;
        int math;
        int chinese;
        int english;
        int dili;
        int sum;
        
        public Student(String name,int math,int chinese,int english,int dili,int sum){
            this.name = name;
            this.math=math;
            this.chinese=chinese;
            this.english = english;
            this.dili = dili;
            this.sum = sum;
        }
    }
    
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int N = input.nextInt();
        //List<Student> list = new ArrayList<Student>();
        Student[] list = new Student[N];
        for (int i=0;i<N;i++) {
            String name = input.next();
            int math = input.nextInt();
            int chinese = input.nextInt();
            int english = input.nextInt();
            int dili = input.nextInt();
            int sum = math+chinese+english+dili;
            Student s = new Student(name,math,chinese,english,dili,sum);
            list[i]=s;
        }
        
        //排序
        Arrays.sort(list, StudentCompare.studentCompare);
        
        print(list);
        
    }
    
    private static void print(Student[] list) {
        if (list != null && list.length>0) {
            for (int i=0;i<3;i++) {
                System.out.println(list[i].name);
            }
        }
        
    }

    //比较器
    static class StudentCompare implements Comparator<Student>{
        public static Comparator<Student> studentCompare = new StudentCompare();
        public int compare(Student o1, Student o2) {
            // TODO Auto-generated method stub
            if(o1.sum > o2.sum) return -1;
            return 0;
        }
    } 
    
}

相关文章

  • 评奖I

    东东所在的班级有 NN 名同学,期末考试进行了数学、语文、英语、地理四门功课的测试。班主任要将这 NN 名学生中总...

  • 《评奖》

    根本无人货比货, 好歹由他去评说。 滥芋充数称极品, 不问标准是什么。 原来天外一团黑, 世上乌鸦差不多。 睁起眼...

  • 评奖

    星期一下午上课的时候,老师给我们发了奖状。我得的奖状是阅读之星。 但是我没有没有得到每日五题的奖状。是因为我...

  • 评奖

    陈庄镇中心小学四年级六班 :张金阳 今天 下午,老师要评选读书小博士 ,就说老师已经统计完了 ,要发奖状 ...

  • 杂谈·评奖

    “现如今除了假话是真的,其它一切都是假的。”这是一位朋友对时下假货泛滥的一句戏言。当时,我虽然没有反驳,但是,在内...

  • 评奖风波

    西天取经归来,唐僧师徒成了万众敬仰的人物。为表彰其英雄壮举,佛祖取经办公室拟定:将终身成就奖授...

  • 评奖风波

    ​ 钟大民最近比较烦。 事情还要从头说起,上半年市里为了转变工作作风,促进调查研究的深入开展,搞了一次调研课题的评...

  • 画画评奖

    大家把自己画好的画,带到老师教画画的课堂里,由华南小区里的负责人一起,经过老师和同学一致公认,评出一等奖一名,二等...

  • 评奖有感

    国庆终于迎来尾声(尽管我们只过四天)。2020年的假期也已过完,2020年也只剩不到四分之一的时间。转眼间,大二开...

  • 蒜苗评奖

    蒜苗评奖 今天下午,我们下了课,看着那些各种各样的蒜苗,心想:“怎么还不评奖呢?” 不一会儿上课铃响了,闫老师说:...

网友评论

    本文标题:评奖I

    本文链接:https://www.haomeiwen.com/subject/damakftx.html