A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

题目:求一个3*3矩阵对角线元素之和

评分

参与人数 1黑马币 +6 收起 理由
lizhao + 6 神马都是浮云

查看全部评分

2 个回复

倒序浏览
这里面的思想有一个是:①行和列的索引一样时,该数为对角线上的一个值;
②对角线上索引值相加值为一个数(33矩阵为2);

③循环遍历出来的话,用求和的思想就可以计算出来了)




[Java] 纯文本查看 复制代码
import java.util.Scanner;
class Swap {
	public static void main(String[] args){		
		//通过手动改制的方法输入一个二维数组
		int[][] arr = {{1,2,3},{4,5,6},{7,8,9}};	//定义一个33矩阵用二维数组实现
		int sum = getSum(arr);		//获取对角线值的和
		System.out.println(sum);	//打印该和	
	}											
	
	static int getSum(int[][] arr) {	//获取33矩阵对角线之和
		int sum = 0;
		for (int i=0;i<arr.length ;i++ ) {	//循环行
			for (int j = 0;j<arr[i].length ;j++ ) {	//循环列
				if(i==j || i+j==2 ){	//行索引与列索引一样时或相加为2时
					sum += arr[i][j];
				}
			}
		}
		return sum;
	}
}


希望可以帮到你,但是这里有很多可以改进的,加油
回复 使用道具 举报
这个简单啊。。。
int sum = 0;
for(int i = 0; i < arr.length; i++) {    //arr[][] 就是你的矩阵的二维数组了,arr[i][i]就是对角线的元素
        sum += arr[i][i];
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马