输入一个n*n(n<=50)的矩阵,计算其两条对角线上个元素之和。
时间: 2024-03-09 21:45:21 浏览: 57
好的,这个问题很简单。你可以使用一个双重循环来遍历矩阵,然后累加对角线上的元素。以下是一个Python代码示例:
```python
n = int(input()) # 输入矩阵的大小
matrix = [] # 初始化矩阵
for i in range(n):
row = list(map(int, input().split())) # 输入一行元素
matrix.append(row)
sum1 = 0 # 初始化第一条对角线的和
sum2 = 0 # 初始化第二条对角线的和
for i in range(n):
sum1 += matrix[i][i] # 第一条对角线的元素下标为[i][i]
sum2 += matrix[i][n-1-i] # 第二条对角线的元素下标为[i][n-1-i]
print(sum1 + sum2) # 输出两条对角线上元素之和
```
希望这个代码可以帮到你!
相关问题
输入一个n*n(n<=50)的矩阵,计算其两条对角线上个元素之和。c++
好的,下面是一个 C++ 的代码示例,实现计算矩阵两条对角线上元素之和:
```c++
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n; // 输入矩阵的大小
int matrix[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cin >> matrix[i][j]; // 输入矩阵元素
}
}
int sum1 = 0; // 初始化第一条对角线的和
int sum2 = 0; // 初始化第二条对角线的和
for (int i = 0; i < n; i++) {
sum1 += matrix[i][i]; // 第一条对角线的元素下标为[i][i]
sum2 += matrix[i][n-1-i]; // 第二条对角线的元素下标为[i][n-1-i]
}
cout << sum1 + sum2 << endl; // 输出两条对角线上元素之和
return 0;
}
```
希望这个代码可以帮到你!
用二维数组分别求一个n*n矩阵主对角线和辅对角线的元素之和,n<=10
以下是主对角线和辅对角线元素之和的代码实现:
```python
n = int(input("请输入矩阵的大小n:"))
matrix = []
for i in range(n):
row = []
for j in range(n):
row.append(int(input("请输入第" + str(i+1) + "行,第" + str(j+1) + "列的元素:")))
matrix.append(row)
# 计算主对角线元素之和
diag1_sum = 0
for i in range(n):
diag1_sum += matrix[i][i]
# 计算辅对角线元素之和
diag2_sum = 0
for i in range(n):
diag2_sum += matrix[i][n-i-1]
print("主对角线元素之和为:", diag1_sum)
print("辅对角线元素之和为:", diag2_sum)
```
该代码首先读取用户输入的矩阵大小n,然后通过嵌套循环读取矩阵的每个元素,并存储到一个二维数组中。接下来,分别计算主对角线和辅对角线的元素之和。主对角线上的元素都满足行下标和列下标相等的条件,而辅对角线上的元素满足行下标和列下标之和为n-1的条件。因此我们可以通过遍历矩阵的每一行来计算这两条对角线上的元素之和,最后输出结果即可。
阅读全文