用java写题目描述 输入10个学生的学号、姓名和成绩,计算并输出平均分,再按照从高分到低分的顺序输出他们的信息。 此题要求:分数相同,保持输入时的顺序 输入 输入10个学生的学号、姓名和成绩。学号和成绩用整数表示,姓名是一个长度不超过19个字符的字符串。 输出 输出平均分,再按照从高分到低分的顺序输出10个学生的信息。 并列分数保持输入时的顺序。 样例输入 复制 101 aaa 80 102 bbb 90 103 ccc 70 104 ddd 59 105 eee 79 106 fff 61 107 ggg 78 108 hhh 80 109 iii 68 110 jjj 81
时间: 2024-03-14 09:48:21 浏览: 85
好的,这是一道比较经典的Java编程题目,需要用到数组和排序算法。以下是Java代码实现:
```java
import java.util.Scanner;
class Student {
int id;
String name;
int score;
public Student(int id, String name, int score) {
this.id = id;
this.name = name;
this.score = score;
}
}
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Student[] students = new Student[10];
int sum = 0;
for (int i = 0; i < 10; i++) {
int id = scanner.nextInt();
String name = scanner.next();
int score = scanner.nextInt();
students[i] = new Student(id, name, score);
sum += score;
}
double average = (double) sum / 10;
System.out.println("平均分:" + average);
for (int i = 0; i < 10; i++) {
for (int j = i + 1; j < 10; j++) {
if (students[j].score > students[i].score) {
Student temp = students[i];
students[i] = students[j];
students[j] = temp;
}
}
}
for (int i = 0; i < 10; i++) {
System.out.println(students[i].id + " " + students[i].name + " " + students[i].score);
}
}
}
```
这段代码的思路是:首先定义一个`Student`类,用来保存学生的学号、姓名和成绩;然后通过`Scanner`类从标准输入中读取10个学生的信息,并计算平均分;接着使用冒泡排序算法按照成绩从高到低的顺序排序学生信息,并输出排序后的结果。
阅读全文