import java.util.Scanner; class student{ String name; int age; int score; } public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(sc.hasNext()){ int n=sc.nextInt(); student[]stu=new student[n]; for (int i = 0; i < stu.length; i++) { stu[i]=new student(); stu[i].name=sc.next(); stu[i].age=sc.nextInt(); stu[i].score=sc.nextInt(); } //冒泡排序 for (int i = 0; i < stu.length-1; i++) { for (int j = 0; j < stu.length-1; j++) { if(//分数低的排前面 (stu[j].score>stu[j+1].score)|| //分数相等,按照姓名字母排序 。。字母小的排前面 (stu[j].score==stu[j+1].score)&&(stu[j].name.compareTo(stu[j+1].name)>0)|| //分数,姓名都相同,最后按照年龄排序 。。年龄小的排前面 //年龄排序题目没给说明,特别坑人 (stu[j].score==stu[j+1].score)&&(stu[j].name.equals(stu[j+1].name))&&(stu[j].age>stu[j+1].age)) { student t=stu[j]; stu[j]=stu[j+1]; stu[j+1]=t; } } } for (int i = 0; i < stu.length; i++) { System.out.println(stu[i].name+" "+stu[i].age+" "+stu[i].score); } } } }
0.0分
2 人评分
程序员的表白 (C语言代码)浏览:1462 |
矩形面积交 (Java代码)浏览:1281 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:781 |
最小公倍数 (C语言代码)浏览:894 |
简单的for循环浏览:1495 |
【计算直线的交点数】 (C语言代码)浏览:1501 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:561 |
A+B for Input-Output Practice (C语言代码)浏览:505 |
大神老白 (C语言代码)浏览:637 |
判定字符位置 (C语言代码)浏览:849 |