编写一个java程序,利用for循环语句,求一个二维数组 int a[5][5]对角线上所有元素的和,并输出来

 我来答
xdyuan33333
2017-06-16 · 超过78用户采纳过TA的回答
知道小有建树答主
回答量:164
采纳率:70%
帮助的人:71.6万
展开全部
刚有一道题,刚传完代码不小心删掉了,在这基础上改一下也实现了
import java.util.*;
public class Test20 {
static int[][] a=new int[5][5];
static int[][] b=new int[5][5];
public static void main(String[] args){
int x=1;
int sum=0;
System.out.println("原数组***********");
for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
a[i][j]=x++;
b[j][i]=a[i][j];
if(i==j||i+j==4){ //对角线上元素
    sum+=a[i][j];
}
System.out.print(a[i][j]+"\t");
}
System.out.println();
}
System.out.println("数组对角线上所有数的和sum="+sum);
System.out.println("互换后的数组**************");
for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
System.out.print(b[i][j]+"\t");
}
System.out.println();
}
}
}
qwwqqwwqyear
2017-06-16 · TA获得超过227个赞
知道小有建树答主
回答量:161
采纳率:94%
帮助的人:78.2万
展开全部

对角线上的元素坐标满足下面两个特点中的一个:

  1. 下标相等

  2. 下标的和等于4

所以代码如下即可:

int sumMatrix(int[][] martix){

int sum=0;

for(int i=0;i<5;i++){

for(int j=0;j<5;j++){

if(i==j||i+j==4){

sum+=matrix[i][j];        

}

}

}

return sum;

}

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式