从键盘输入一个M×M的矩阵,分别求该矩阵主对角线上的元素之和、以及副对角线上的元素之和。要求M的值从键盘输入,且M的值小于10。
时间: 2024-05-13 16:14:21 浏览: 63
以下是 Python 代码实现:
```python
M = int(input("请输入矩阵的维度M(M<10):"))
# 初始化矩阵
matrix = []
for i in range(M):
row = input("请输入第{}行的{}个元素(以空格分隔):".format(i+1, M)).split()
row = list(map(int, row))
matrix.append(row)
main_sum = 0 # 主对角线元素之和
vice_sum = 0 # 副对角线元素之和
for i in range(M):
main_sum += matrix[i][i]
vice_sum += matrix[i][M-i-1]
print("主对角线元素之和为:", main_sum)
print("副对角线元素之和为:", vice_sum)
```
通过 `input()` 函数从键盘输入矩阵的维度 M,然后通过循环输入每个元素,将输入的字符串转换为整数,并将其添加到二维列表 `matrix` 中。
接着,通过循环计算主对角线和副对角线上的元素之和。对于主对角线上的元素,它们的下标都是相同的,因此可以直接使用 `matrix[i][i]` 访问;而对于副对角线上的元素,它们的行下标和列下标之和为 M-1,因此可以使用 `matrix[i][M-i-1]` 访问。
最后,输出结果即可。
阅读全文