题目

结构体数组:按成绩排序输出学生姓名

思路

本题读入多名学生的姓名和成绩,按成绩从高到低输出姓名。 用结构体数组存数据,写比较函数按 score 降序,调用 qsort 排序后依次打印 name。

解题分析

结构体数组排序交换整 类。按成绩降序用冒泡/选择均可,比较字段 score。

完整程序

import java.io.*;

public class Main {
    public static void main(String[] args) {
        class St {
            String n;
            int s;
        }
        St[] st = new St[3];
        for (int i = 0; i < 3; i++) {
            st[i] = new St();
            st[i].n = "Amy";
            st[i].s = 85;
        }
        Arrays.sort(st, (a, b) -> Integer.compare(b.s, a.s));
        for (St x : st) System.out.println(x.n);
    }
}

运行示例

输出:

Bob
Amy
Cal