java,编写一个程序,统计某个班三门课语文、数学、英语的成绩:首先输入学生人数,然后依次输入各个学生的成绩,统计出各个学生的平均成绩,和每门课的平均成绩。最后把每个人的每门成绩,每个学生的平均成绩,每门课的平均成绩都列表出书
时间: 2023-12-13 16:26:42 浏览: 98
编写程序计算三门课的平均成绩,要求应用程序分别用Java不同的循环语句实现。
3星 · 编辑精心推荐
这是一个非常好的问题,我可以为您提供Java代码来完成这个任务:
```
import java.util.Scanner;
public class GradeStatistics {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入学生人数:");
int numStudents = scanner.nextInt();
int[][] grades = new int[numStudents][3];
for (int i = 0; i < numStudents; i++) {
System.out.printf("请输入第%d个学生的成绩(语文,数学,英语):", i + 1);
grades[i][0] = scanner.nextInt();
grades[i][1] = scanner.nextInt();
grades[i][2] = scanner.nextInt();
}
System.out.println("每个学生的成绩和平均成绩如下:");
double[] avgStudentGrades = new double[numStudents];
for (int i = 0; i < numStudents; i++) {
int sum = grades[i][0] + grades[i][1] + grades[i][2];
double avg = sum / 3.0;
System.out.printf("第%d个学生的成绩为:%d, %d, %d,平均成绩为:%.2f\n", i + 1, grades[i][0], grades[i][1], grades[i][2], avg);
avgStudentGrades[i] = avg;
}
System.out.println("每门课的平均成绩如下:");
double[] avgCourseGrades = new double[3];
for (int i = 0; i < 3; i++) {
int sum = 0;
for (int j = 0; j < numStudents; j++) {
sum += grades[j][i];
}
double avg = sum / (double) numStudents;
System.out.printf("%s的平均成绩为:%.2f\n", getCourseName(i), avg);
avgCourseGrades[i] = avg;
}
System.out.println("每个学生的平均成绩和每门课的平均成绩如下:");
System.out.printf("学生编号\t语文\t数学\t英语\t平均成绩\n");
for (int i = 0; i < numStudents; i++) {
System.out.printf("%d\t\t%d\t\t%d\t\t%d\t\t%.2f\n", i + 1, grades[i][0], grades[i][1], grades[i][2], avgStudentGrades[i]);
}
System.out.printf("平均成绩\t%.2f\t%.2f\t%.2f\n", avgCourseGrades[0], avgCourseGrades[1], avgCourseGrades[2]);
}
private static String getCourseName(int index) {
switch (index) {
case 0:
return "语文";
case 1:
return "数学";
case 2:
return "英语";
default:
return "";
}
}
}
```
希望这个程序能够满足您的需求,如果您还有其它问题,请随时问我。
阅读全文