已知某个班有M个学生,学习N门课程,已知所有学生的各科成绩,编程:分别求每个学生的平均成绩,并输出。
要求:
 定义一个二维数组,用于存放M个学生的N门成绩。定义一个一维数组,用于存放每个学生的平均成绩。
 做二重循环,将每个学生的成绩输入到该二维数组中。
 做二重循环,对已经存在于二维数组的中的值进行平均分计算,将结果保存到一个一维数组中。
 做循环输出该一维数组(即平均分)的值。

解决方案 »

  1.   

    public static void sum(int m,int n){
    Scanner reader=new Scanner(System.in);
    double[][] stu=new double[m][n];//定义一个二维数组存放m个学生的n门成绩
    double[] grade=new double[m];
    double sum=0;
    for(int i=0;i<m;i++){
    for(int j=0;j<n;j++){
    System.out.print("请输入第"+(i+1)+"个学生的第"+(j+1)+"门课的成绩:");
    stu[i][j]=reader.nextDouble();
    }
    }
    for(int i=0;i<m;i++){
    for(int j=0;j<n;j++){
    sum=sum+stu[i][j];
    }
    grade[i]=sum/n;
    sum=0;
    }
    for(int i=0;i<grade.length;i++){
    System.out.println("第"+(i+1)+"个学生的平均成绩是:"+grade[i]);
    }
    }
      

  2.   

    import java.util.*;
    public class test {

    public static void main(String[] args)
    {
    Scanner rd = new Scanner(System.in);
    int M = rd.nextInt();
    int N = rd.nextInt();
    int[][] arr = new int[M][N];
    int[] score = new int[M];
    for(int i=0; i<arr.length; i++)
    {
    for(int j=0; j<arr[i].length; j++)
    {
    arr[i][j] = rd.nextInt();
    }
    }
    putScoreFromArray(arr, score);
    paint(score);
    }

    public static void putScoreFromArray(int[][] allStudentScore, int[] score)
    {
    int sum = 0;
    for(int i=0; i<allStudentScore.length; i++)
    {
    for(int j=0; j<allStudentScore[i].length; j++)
    {
    sum += allStudentScore[i][j];
    }
    score[i] = sum / allStudentScore[0].length;
    sum = 0;
    }
    }

    public static void paint(int[] score)
    {
    for(int i=0; i<score.length; i++)
    {
    System.out.println("The " + (i+1) + " Student Average score is " + score[i]);
    }
    }
    }楼主凑合使