如何对象排序
题目描述🔔
"对总成绩进行降序,并输出学生的成绩和排名。(总分相同按默认顺序,不带跳跃,即: 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。
第二种方法🔔:
通过对象排序的方法,比冒泡排序更好理解,清晰明了。
不做出过多讲解,看注释的Java代码。
圣诞节快乐❄️❄️🎄🎄🔔🔔~