题目

从标准输入读入一个 3×3 的整数矩阵,计算并输出其主对角线(从左上到右下)上所有元素的和。

输入格式:共 3 行,每行包含 3 个整数,以空格分隔。

输出格式:输出一个整数,表示主对角线元素之和,末尾换行。

数据范围与约定:矩阵元素取值为 32 位有符号整数。

思路与算法

1. 二维数组与对角线坐标
主对角线上的元素行下标与列下标相等,即 a[0][0]、a[1][1]、a[2][2]。

2. 单层循环提取
读入 3×3 矩阵后,仅需单层循环 for (int i = 0; i < 3; i++) sum += a[i][i]; 即可完成累加,避免二次全矩阵遍历。

完整程序

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int[][] a = new int[3][3];
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                a[i][j] = sc.nextInt();
            }
        }

        // 主对角线特征:行索引与列索引相等 a[i][i]
        int sum = 0;
        for (int i = 0; i < 3; i++) {
            sum += a[i][i];
        }

        System.out.println(sum);
    }
}

运行示例

输入:

1 2 3
4 5 6
7 8 9

输出:

15