比赛

xiaoxiao2021-02-27  200

比赛

时间限制: 1000 ms  |  内存限制: 65535 KB 难度: 1 描述                    今天Acm举行了一场比赛,邀请大一的学生参加比赛,实际来了m个学生,当他们做好自己的位置的时候,一个Acm的成员小z按照顺序登记他们的信息(学号,姓名),当他们比赛完之后按照小z登记的信息填写他们的成绩;现在问题来了,acm的小z只记录大一同学的成绩,不知道排名,但小z想知道他们的排名,他很苦恼,聪明的你帮他写个程序解决一下吧。 输入 第一行是一个整数T表示测试数据的组数 每组测试数据的第一行 有一个整数m(m<=100)表示大一比赛的人数,之后m行,每行包含三个数据表示一个学生的信息,分别表示学生的学号,姓名,比赛成绩。 输出 输出每组学生排过序的名单(成绩相同谁在前面先输出谁) 样例输入 1 3 12066 zhangming 23 11077 wangming 45 13088 zhaoqian 15 样例输出 11077 wangming 45 12066 zhangming 23 13088 zhaoqian 15

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int times=scanner.nextInt(); while(times--!=0) { int number=scanner.nextInt(); int id[]=new int[number]; String name[]=new String[number]; int score[]=new int[number]; for(int i=0;i<number;i++) { id[i]=scanner.nextInt(); name[i]=scanner.next(); score[i]=scanner.nextInt(); } for(int i=0;i<number;i++) { for(int j=i+1;j<number;j++) { int tempint; String tempString; if(score[i]<score[j]) { tempint=id[i]; id[i]=id[j]; id[j]=tempint; tempString=name[i]; name[i]=name[j]; name[j]=tempString; tempint=score[i]; score[i]=score[j]; score[j]=tempint; } } } for(int i=0;i<number;i++) { System.out.print(id[i]+" "+name[i]+" "+score[i]); System.out.println(); } } } }

转载请注明原文地址: https://www.6miu.com/read-10135.html

最新回复(0)