求二维数组对角线上的和
时间: 2024-02-06 08:12:43 浏览: 70
c++实现求数组两对角线元素之和
好的,以下是求二维数组对角线上的和的 Python 代码:
```python
def diagonal_sum(matrix):
"""
:param matrix: 二维数组
:return: 对角线上的元素和
"""
n = len(matrix)
diagonal_sum = 0
for i in range(n):
diagonal_sum += matrix[i][i] # 左上到右下的对角线
diagonal_sum += matrix[i][n-1-i] # 右上到左下的对角线
if n % 2 == 1: # 如果数组维度为奇数,则中心元素被重复计算,需要减去
diagonal_sum -= matrix[n//2][n//2]
return diagonal_sum
```
其中,参数 `matrix` 是一个二维数组,函数返回值是对角线上的元素和。函数首先获取数组的维度 `n`,然后通过两个循环分别计算左上到右下和右上到左下的对角线上的元素,并将其累加到 `diagonal_sum` 变量中。如果数组维度为奇数,中心元素会被重复计算,需要减去。最后,函数返回 `diagonal_sum`。
阅读全文