java,编写一个程序,统计某个班三门课语文、数学、英语的成绩:首先输入学生人数,然后依次输入各个学生的成绩,统计出各个学生的平均成绩,和每门课的平均成绩。最后把每个人的每门成绩,每个学生的平均成绩,每门课的平均成绩都列表输出,一一对应
时间: 2023-12-13 22:08:32 浏览: 44
可以的,以下是 Java 代码实现:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
// 输入学生人数
System.out.print("请输入学生人数:");
int num = input.nextInt();
// 输入成绩
int[][] scores = new int[num][3]; // 用二维数组存储成绩
for (int i = 0; i < num; i++) {
System.out.print("请输入第" + (i+1) + "个学生的语文、数学、英语成绩:");
scores[i][0] = input.nextInt();
scores[i][1] = input.nextInt();
scores[i][2] = input.nextInt();
}
// 计算平均成绩
double[] stuAvg = new double[num]; // 存储每个学生的平均成绩
double[] subAvg = new double[3]; // 存储每门课的平均成绩
for (int i = 0; i < num; i++) {
for (int j = 0; j < 3; j++) {
stuAvg[i] += scores[i][j];
subAvg[j] += scores[i][j];
}
stuAvg[i] /= 3;
}
for (int j = 0; j < 3; j++) {
subAvg[j] /= num;
}
// 输出成绩表
System.out.println("学生编号\t语文\t数学\t英语\t平均成绩");
for (int i = 0; i < num; i++) {
System.out.print((i+1) + "\t\t");
for (int j = 0; j < 3; j++) {
System.out.print(scores[i][j] + "\t");
}
System.out.println(stuAvg[i]);
}
System.out.print("平均成绩\t");
for (int j = 0; j < 3; j++) {
System.out.print(subAvg[j] + "\t");
}
}
}
当然,这只是一个简单的示例代码,实际中可能需要考虑更加复杂的情况。