算不算最优?

来源:1-8 编程练习

慕标2358859

2021-04-08 09:40:33

int[][] Arr= new int[3][2];
Scanner sc=new Scanner(System.in);
for (int i=0;i<Arr.length;i++){
for (int j=0;j<Arr[i].length;j++){
if (j==0){
System.out.println("请输入第"+(i+1)+"个学生的语文成绩:");
           Arr[i][j]=sc.nextInt();
       }else if (j == 1){
System.out.println("请输入第"+(i+1)+"个学生的数学成绩:");
           Arr[i][j]=sc.nextInt();
       }
}
}
//sum1表示语文总和,sum2表示数学总和,aver1表示语文平均分,aver2表示数学平均分
int sum1=0,sum2=0,aver1=0,aver2=0;
System.out.println("输出所有学生所有成绩:");
for (int i=0;i<Arr.length;i++){
for (int j=0;j<Arr[i].length;j++){
if (j==0){
System.out.print("语文");
           sum1=sum1+Arr[i][j];
           aver1=sum1/Arr.length;
       }else if (j==1){
System.out.print("数学");
           sum2=sum2+Arr[i][j];
           aver2=sum2/Arr.length;
       }
System.out.print(Arr[i][j]+"  ");

   }
System.out.println();
}
System.out.println("语文的总成绩:"+sum1);
System.out.println("语文的平均分:"+aver1);
System.out.println("数学的总成绩:"+sum2);
System.out.println("数学的平均分:"+aver2);


写回答

1回答

好帮手慕小尤

2021-04-08

同学你好,同学的代码完成的不错,很棒!不过同学代码还可以优化:

    这里可以只定义一层循环,并且从键盘接收数据,为每位学生的成绩赋值的同时求和。修改后代码如下:

http://img.mukewang.com/climg/606e98b9092c352c11140730.jpg

http://img.mukewang.com/climg/606e98d80927288c08850641.jpg

public static void main(String[] args) {
int[][] Arr = new int[3][2];
Scanner sc = new Scanner(System.in);
for (int i = 0; i < Arr.length; i++) {
System.out.println("请输入第" + (i + 1) + "个学生的语文成绩:");
Arr[i][0] = sc.nextInt();

System.out.println("请输入第" + (i + 1) + "个学生的数学成绩:");
Arr[i][1] = sc.nextInt();
}
// sum1表示语文总和,sum2表示数学总和,aver1表示语文平均分,aver2表示数学平均分
int sum1 = 0, sum2 = 0, aver1 = 0, aver2 = 0;
System.out.println("输出所有学生所有成绩:");
for (int i = 0; i < Arr.length; i++) {
System.out.print("语文");
sum1 = sum1 + Arr[i][0];
aver1 = sum1 / Arr.length;
System.out.print(Arr[i][0] + " ");
System.out.print("数学");
sum2 = sum2 + Arr[i][1];
aver2 = sum2 / Arr.length;
System.out.print(Arr[i][1] + " ");
System.out.println();
}
System.out.println("语文的总成绩:" + sum1);
System.out.println("语文的平均分:" + aver1);
System.out.println("数学的总成绩:" + sum2);
System.out.println("数学的平均分:" + aver2);
}

​祝学习愉快!

0

0 学习 · 16556 问题

查看课程