C语言实现
方法一:直接访问对角线元素
c复制代码 #include <stdio.h> int main() { int matrix[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; int sum = 0; // 遍历对角线元素 for(int i = 0; i < 3; i++) { sum += matrix[i][i]; // 加上主对角线上的元素 } printf("Diagonal sum is: %d\n", sum); return 0; }
方法二:使用函数封装
c复制代码 #include <stdio.h> // 定义一个函数来计算3x3矩阵对角线元素之和 int diagonalSum(int matrix[3][3]) { int sum = 0; for(int i = 0; i < 3; i++) { sum += matrix[i][i]; } return sum; } int main() { int matrix[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; printf("Diagonal sum is: %d\n", diagonalSum(matrix)); return 0; }
Python实现
方法一:直接访问对角线元素
python复制代码 def diagonal_sum(matrix): return sum(matrix[i][i] for i in range(len(matrix))) # 示例矩阵 matrix = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ] print("Diagonal sum is:", diagonal_sum(matrix))
方法二:使用NumPy库(虽然这不是纯Python的方法,但非常高效)
如果你在处理大型矩阵或需要矩阵运算的库,NumPy是一个很好的选择。
python复制代码 import numpy as np # 使用NumPy创建矩阵 matrix = np.array([ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]) # 使用NumPy的trace函数计算对角线之和 print("Diagonal sum is:", np.trace(matrix))
注意:NumPy方法对于处理大型数据集或需要执行复杂矩阵运算的场景特别有用。对于简单的3x3矩阵,直接使用Python列表和循环(如方法一)可能就足够了。