如何对象排序



2727MV截图

题目描述🔔

"对总成绩进行降序,并输出学生的成绩和排名。(总分相同按默认顺序,不带跳跃,即: a100分,b100分,c99分,排名为 a第1名,b第1名,c第2名)"

输入🔔

输入在第一行包含一个整数N,然后跟随N行。 每行有三个数据分别是姓名,java成绩和mysql成绩(用空格分开)。

输出🔔

每行分别输出姓名,java成绩和mysql成绩,总成绩和名次(用空格分开)。
每组数据间用空行隔开

样例输入🔔

5
a 20 19
b 4 68
c 98 37
d 32 61
e 98 37

样例输出🔔

c 98 37 135 1
e 98 37 135 1
d 32 61 93 2
b 4 68 72 3
a 20 19 39 4

解题思路🔔:

题目的意思是把学生的java成绩和mysql成绩进行相加得出总成绩score,根据score进行排序,遇到相同的score,rank需相等。

第一种方法🔔:
先将题目输入数据,添加到a[]列表里,所以a[1]和a[2]分别为java成绩和mysql成绩,两两相加得出score记录在a[3]。
根据a[3]的值进行冒泡排序。
我定义了top为当前排名。
每次遍历top+=1。
遍历列表当a[i][3] == a[i+1][3],也就是说现在选到同学的总分等于上个同学的总分时,现在同学的排名为上个同学的排名,否则就等于top,a[i][4] = top。


以上为Python代码

第二种方法🔔:
通过对象排序的方法,比冒泡排序更好理解,清晰明了。
不做出过多讲解,看注释的Java代码。



以上为Java代码

圣诞节快乐❄️❄️🎄🎄🔔🔔~