二维数组真是存矩阵的好东西啊,现在问题来了,输入一个5*5一共25个数字,要求你求出它们两个对角线上的数字之和!
输入格式
25个数字,5行5列
输出格式
它们两个对角线上的和
左上->右下第一条
右上->左下第二条
两个数字空格分开
样例输入
复制
1 0 0 0 2 0 1 0 2 0 0 0 1 0 0 0 2 0 1 0 2 0 0 0 1
样例输出
复制
5 9
//没修改之前的代码
package 对角线之和;
import java.util.Scanner; //Scanner工具包
public class Matrix {
public static void main(String[] args) {
//1、创建一个5*5的矩形
//2、输入矩形数据
//3、累加对角线之和,左对角线和右边对角线
/*1-----创建5X5的矩形----*/
int[][] matrix = new int[5][5];//定义一个5*5的矩阵
/*2----输入矩形的数据---*/
Scanner scan =new Scanner(System.in);
for(int i=0 ;i<5;i++) {
for(int j=0 ;j<5;j++) {
//System.out.print("请输入第"+i+"层第"+j+"列的数据:");
matrix[i][j] = scan.nextInt();
}
}
/*3----求2条对角线的累和---*/
//计算对角线1的累积和
int temp1=0;
for(int i=0;i<5;i++) {
temp1 += matrix[i][i];
}
//计算对角线2的累积和
int temp2 = 0;
for(int j=0; j<5;j++ ) {
temp2 += matrix[j][4-j];
}
/*4-----最后输出两个对角线的和---*/
System.out.print(temp1+" "+temp2);
}
}
运行结果正确: