用java写一个代码 有n个学生,每个学生的数据包括:学号,姓名,三门课成绩,编写程序要求从键盘输入学生的数据,并输出成绩报表(包括每人的学号、姓名、三门成绩及平均分数),最后输出总分最高的学生姓名及其总成绩。运行结果示例
时间: 2023-07-14 16:11:54 浏览: 199
下面是用Java语言实现该功能的代码:
```java
import java.util.Scanner;
public class StudentReport {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入学生人数:");
int n = input.nextInt();
String[] name = new String[n];
int[] id = new int[n];
double[][] score = new double[n][3];
double[] avgScore = new double[n];
double maxScore = 0;
int maxIndex = 0;
for (int i = 0; i < n; i++) {
System.out.print("请输入第" + (i+1) + "个学生的学号:");
id[i] = input.nextInt();
System.out.print("请输入第" + (i+1) + "个学生的姓名:");
name[i] = input.next();
System.out.print("请输入第" + (i+1) + "个学生的三门成绩(用空格隔开):");
for (int j = 0; j < 3; j++) {
score[i][j] = input.nextDouble();
avgScore[i] += score[i][j];
}
avgScore[i] /= 3;
if (avgScore[i] > maxScore) {
maxScore = avgScore[i];
maxIndex = i;
}
}
System.out.println("学号\t姓名\t成绩1\t成绩2\t成绩3\t平均成绩");
for (int i = 0; i < n; i++) {
System.out.printf("%d\t%s\t%.1f\t%.1f\t%.1f\t%.1f\n", id[i], name[i], score[i][0], score[i][1], score[i][2], avgScore[i]);
}
System.out.println("总分最高的学生是" + name[maxIndex] + ",总成绩为" + (score[maxIndex][0] + score[maxIndex][1] + score[maxIndex][2]));
}
}
```
运行结果示例:
```
请输入学生人数:3
请输入第1个学生的学号:1001
请输入第1个学生的姓名:张三
请输入第1个学生的三门成绩(用空格隔开):90 80 70
请输入第2个学生的学号:1002
请输入第2个学生的姓名:李四
请输入第2个学生的三门成绩(用空格隔开):80 70 60
请输入第3个学生的学号:1003
请输入第3个学生的姓名:王五
请输入第3个学生的三门成绩(用空格隔开):70 60 50
学号 姓名 成绩1 成绩2 成绩3 平均成绩
1001 张三 90.0 80.0 70.0 80.0
1002 李四 80.0 70.0 60.0 70.0
1003 王五 70.0 60.0 50.0 60.0
总分最高的学生是张三,总成绩为240.0
```
阅读全文