比赛
时间限制:
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();
}
}
}
}