Java 有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及总成绩最高分的学生的数据(包括学号、姓名、3门课成绩) 输入 学生数量N占一行每个学生的学号、姓名、三科成绩占一行,空格分开。(成绩取值范围:0~1000) 输出 各门课的平均成绩 总成绩最高分的学生的数据(包括学号、姓名、3门课成绩) 样例输入 2 1 blue 90 80 70 b clan 80 70 60 样例输出 85 75 65 1 blue 90 80 70
时间: 2023-12-15 10:12:01 浏览: 72
要求打印出3门课的平均成绩,以及平均成绩最高的学生的数据(包括学号、姓名、3
好的,下面是使用 Java 语言实现的代码示例:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
Student maxScoreStudent = new Student();
int maxScore = 0;
double[] avgScore = new double[3];
for (int i = 0; i < n; i++) {
Student s = new Student();
s.id = scanner.next();
s.name = scanner.next();
s.score[0] = scanner.nextInt();
s.score[1] = scanner.nextInt();
s.score[2] = scanner.nextInt();
int totalScore = 0;
for (int j = 0; j < 3; j++) {
totalScore += s.score[j];
avgScore[j] += s.score[j];
}
if (totalScore > maxScore) {
maxScore = totalScore;
maxScoreStudent = s;
}
}
for (int i = 0; i < 3; i++) {
avgScore[i] /= n;
System.out.print((int) avgScore[i] + " ");
}
System.out.println();
System.out.print(maxScoreStudent.id + " ");
System.out.print(maxScoreStudent.name + " ");
for (int i = 0; i < 3; i++) {
System.out.print(maxScoreStudent.score[i] + " ");
}
System.out.println();
}
}
class Student {
String id;
String name;
int[] score = new int[3];
}
```
注意,这个程序有一个自定义的 `Student` 类,用于存储学生的信息。这个类包括学号、姓名和成绩三个属性,成绩是一个数组。程序首先读取学生数量,然后循环读取每个学生的信息,计算出各门课的平均成绩和总成绩最高的学生信息,最后输出结果。
阅读全文