package fa.JG;
import java.util.Scanner;
/*
要求如下:
v1.声明二维数组
v2.输入班级人数
v3.输入每位同学的学号和成绩,都用整型
v4.用选择排序算法对数组按成绩进行排序
v5.输出排序后的全班同学的学号和成绩
*/
public class ScoreSort {
public static void main(String[] args) {
int[][] stu;// 声明二维数组
Scanner input = new Scanner(System.in);
System.out.println("请输入班级人数:");
int num = input.nextInt();// 输入班级人数
stu = new int[num][2];
for (int i = 0; i < num; i++) {// 输入每位同学的学号和成绩,都用整型
System.out.println("请输入第" + (i + 1) + "个学生的学号:");
stu[i][0] = input.nextInt();
System.out.println("请输入第" + (i + 1) + "个学生的成绩:");
stu[i][1] = input.nextInt();
}
for (int i = stu.length - 1; i >= 0; i--) {// 用选择排序算法对数组按成绩进行排序
int indexlow = i;
for (int j = stu.length - 1; j >= i + 1; j--) {
if (stu[j][1] > stu[indexlow][1]) {
indexlow = j;
}
int temp0 = stu[i][0];
stu[i][0] = stu[indexlow][0];
stu[indexlow][0] = temp0;
int temp1 = stu[i][1];
stu[i][1] = stu[indexlow][1];
stu[indexlow][1] = temp1;
}
}
System.out.println("按成绩进行排序:");
for (int i = 0; i < stu.length; i++) {
// 输出排序后的全班同学的学号和成绩
System.out.println("学号为"+stu[i][0]+"的同学");
System.out.print("成绩由高到低为:");
System.out.print(stu[i][1]);
System.out.println();
}
}
}