分别求一个n*n矩阵主对角线和辅对角线的元素之和,n<=10 提示: 分析主对角线/副对角线中的元素下标的特点,主对角线下标行号和列号相等,辅对角线下标之和等于固定值
时间: 2024-01-08 14:13:02 浏览: 62
C语言数组二
对于一个$n\times n$的矩阵,主对角线上的元素下标为$(i,i)$,其中$0 \leq i < n$,因此主对角线上所有元素的下标行号和列号相等。因此,可以遍历主对角线上的所有元素,将它们的值累加起来即可。
辅对角线上的元素下标之和为$n-1$,因此可以利用这个特点来遍历辅对角线上的所有元素。具体来说,对于一个元素$(i,j)$,如果它在辅对角线上,则有$i+j=n-1$。因此可以遍历所有满足$i+j=n-1$的元素,将它们的值累加起来即可。
下面是一个示例代码:
```python
n = int(input())
matrix = []
for i in range(n):
row = list(map(int, input().split()))
matrix.append(row)
# 计算主对角线上的元素之和
sum1 = 0
for i in range(n):
sum1 += matrix[i][i]
# 计算辅对角线上的元素之和
sum2 = 0
for i in range(n):
j = n - 1 - i
sum2 += matrix[i][j]
print(sum1, sum2)
```
阅读全文