JAVA键盘录入15个学生信息(学号,姓名,语文成绩,数学成绩,英语成绩)按照总分从高到低输出
时间: 2023-08-01 21:10:28 浏览: 179
好的,这个问题我可以回答。以下是JAVA代码:
```java
import java.util.Scanner;
public class StudentSorter {
public static void main(String[] args) {
int n = 15; // 学生人数
int[] id = new int[n]; // 学号
String[] name = new String[n]; // 姓名
int[] chinese = new int[n]; // 语文成绩
int[] math = new int[n]; // 数学成绩
int[] english = new int[n]; // 英语成绩
int[] total = new int[n]; // 总分
Scanner sc = new Scanner(System.in);
for (int i = 0; i < n; i++) {
System.out.print("请输入第" + (i + 1) + "个学生的学号:");
id[i] = sc.nextInt();
System.out.print("请输入第" + (i + 1) + "个学生的姓名:");
name[i] = sc.next();
System.out.print("请输入第" + (i + 1) + "个学生的语文成绩:");
chinese[i] = sc.nextInt();
System.out.print("请输入第" + (i + 1) + "个学生的数学成绩:");
math[i] = sc.nextInt();
System.out.print("请输入第" + (i + 1) + "个学生的英语成绩:");
english[i] = sc.nextInt();
total[i] = chinese[i] + math[i] + english[i];
}
// 冒泡排序
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (total[j] < total[j + 1]) {
int temp = total[j];
total[j] = total[j + 1];
total[j + 1] = temp;
temp = id[j];
id[j] = id[j + 1];
id[j + 1] = temp;
String tempName = name[j];
name[j] = name[j + 1];
name[j + 1] = tempName;
temp = chinese[j];
chinese[j] = chinese[j + 1];
chinese[j + 1] = temp;
temp = math[j];
math[j] = math[j + 1];
math[j + 1] = temp;
temp = english[j];
english[j] = english[j + 1];
english[j + 1] = temp;
}
}
}
// 输出结果
System.out.println("按总分从高到低的排序结果:");
System.out.println("学号\t姓名\t语文\t数学\t英语\t总分");
for (int i = 0; i < n; i++) {
System.out.println(id[i] + "\t" + name[i] + "\t" + chinese[i] + "\t" + math[i] + "\t" + english[i] + "\t" + total[i]);
}
}
}
```
这段代码使用了冒泡排序算法,按照学生的总分从高到低排序,并输出排序结果。
阅读全文