给定一个n×n的方阵,本题要求计算该矩阵主、副对角线上的所有元素之和。主对角线为从矩阵的左上角至右下角的连线,副对角线为从矩阵的右上角至左下角的连线。。 输入格式: 输入第一行给出正整数n(1<n≤10);随后n行,每行给出n个数,其间以空格分隔。 输出格式: 在一行中给出该矩阵主、副对角线的所有元素之和,保留两位小数。 python
时间: 2024-02-09 12:09:48 浏览: 68
当然,下面是 Python 代码实现:
```python
n = int(input())
matrix = []
for i in range(n):
matrix.append(list(map(int, input().split())))
sum1, sum2 = 0, 0
for i in range(n):
sum1 += matrix[i][i]
sum2 += matrix[i][n-i-1]
print('{:.2f}'.format(sum1+sum2))
```
其中,`input()` 函数用于读取用户输入,`list(map(int, input().split()))` 用于读取一行中的多个数字并转换为整数列表,`'{:.2f}'.format(sum1+sum2)` 用于将结果格式化为保留两位小数的浮点数并输出。
相关问题
给定一个n×n的方阵,本题要求计算该矩阵主、副对角线上的所有元素之和。主对角线为从矩阵的左上角至右下角的连线,副对角线为从矩阵的右上角至左下角的连线。python
代码如下:
```
def diagonal_sum(matrix):
n = len(matrix)
main_sum = 0
sub_sum = 0
for i in range(n):
main_sum += matrix[i][i]
sub_sum += matrix[i][n-i-1]
return main_sum + sub_sum
# 测试
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(diagonal_sum(matrix)) # 输出:25
```
这个函数可以计算一个 n x n 的方阵的主、副对角线上的所有元素之和。主对角线和副对角线上的元素可以通过下标来访问,主对角线上的元素下标都是 (i, i),副对角线上的元素下标都是 (i, n-i-1)。我们可以用一个循环来遍历主、副对角线上的元素,并累加它们的值,最后返回它们的和。
python 给定一个n×n的方阵,本题要求计算该矩阵主、副对角线上的所有元素之和。主对角线为从矩阵的左上角至右下角的连线,副对角线为从矩阵的右上角至左下角的连线。。
可以使用两个变量分别记录主对角线和副对角线上的元素之和,然后遍历矩阵,对于每个元素,若它在主对角线上,则将其加到主对角线和中;若它在副对角线上,则将其加到副对角线和中。最后返回两个和即可。
以下是示例代码实现:
```python
def diagonal_sum(matrix):
n = len(matrix)
main_sum = 0 # 主对角线和
sub_sum = 0 # 副对角线和
for i in range(n):
main_sum += matrix[i][i]
sub_sum += matrix[i][n-i-1]
return main_sum, sub_sum
```
测试代码:
```python
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
main_sum, sub_sum = diagonal_sum(matrix)
print("主对角线和:", main_sum)
print("副对角线和:", sub_sum)
```
输出结果为:
```
主对角线和: 15
副对角线和: 15
```
阅读全文