从键盘上输入一个3x3的二维数组,求出主、副两条对角线上的元素之和。 【输入样例】 1 2 3 4 5 6 7 8 9 【输出样例】 s1=15 s2=15
时间: 2023-12-27 17:05:21 浏览: 63
下面是 Python 代码实现:
```python
# 读入3x3的二维数组
matrix = []
for i in range(3):
row = list(map(int, input().split()))
matrix.append(row)
# 计算主对角线和
s1 = 0
for i in range(3):
s1 += matrix[i][i]
# 计算副对角线和
s2 = 0
for i in range(3):
s2 += matrix[i][2-i]
# 输出结果
print('s1={}, s2={}'.format(s1, s2))
```
输入样例:
```
1 2 3
4 5 6
7 8 9
```
输出样例:
```
s1=15, s2=15
```
相关问题
从键盘上输入一个3x3的二维数组,求出主、副两条对角线上的元素之和。 【输入样例】 1 2 3 4 5 6 7 8 9 【输出样例】 s1=15 s2=15c语言
以下是 C 语言程序实现:
```c
#include <stdio.h>
int main() {
int a[3][3], s1 = 0, s2 = 0;
printf("请输入一个3x3的二维数组:\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
scanf("%d", &a[i][j]);
if (i == j) {
s1 += a[i][j]; // 计算主对角线元素之和
}
if (i + j == 2) {
s2 += a[i][j]; // 计算副对角线元素之和
}
}
}
printf("s1=%d s2=%d", s1, s2);
return 0;
}
```
程序提示用户输入一个 3x3 的二维数组,然后使用两个循环遍历数组中的元素,并且在计算过程中根据元素的下标来判断该元素是主对角线上的元素还是副对角线上的元素,最后输出两条对角线上的元素之和。
输入3*3的二维数组 将数组行列交换输出 并求两条对角线元素之和C++
在C++中,你可以创建一个函数来完成这个任务。首先,你需要定义一个二维数组,然后交换它的行和列,并计算对角线元素之和。下面是一个简单的示例:
```cpp
#include <iostream>
// 定义3x3的二维整数数组
int arr[3][3];
// 函数用于交换矩阵的行和列并计算对角线元素之和
void swapDiagonalsAndSum() {
int sumDiagonal1 = arr[0][0] + arr[1][1] + arr[2][2]; // 主对角线
int sumDiagonal2 = arr[0][2] + arr[1][1] + arr[2][0]; // 次对角线
// 交换行和列
for(int i = 0; i < 3; ++i) {
for(int j = 0; j < 3; ++j) {
std::swap(arr[i][j], arr[j][i]);
}
}
// 输出交换后的数组
for(int i = 0; i < 3; ++i) {
for(int j = 0; j < 3; ++j) {
std::cout << arr[i][j] << " ";
}
std::cout << "\n";
}
// 输出对角线元素之和
std::cout << "主对角线元素之和: " << sumDiagonal1 << "\n";
std::cout << "次对角线元素之和: " << sumDiagonal2 << "\n";
}
// 示例初始化和调用函数
int main() {
arr[0][0] = 1;
arr[0][1] = 2;
arr[0][2] = 3;
arr[1][0] = 4;
arr[1][1] = 5;
arr[1][2] = 6;
arr[2][0] = 7;
arr[2][1] = 8;
arr[2][2] = 9;
swapDiagonalsAndSum();
return 0;
}
```
在这个例子中,`swapDiagonalsAndSum`函数首先计算两对角线的元素之和,然后通过嵌套循环交换数组的行和列。在`main`函数中,我们为数组赋值,然后调用这个函数。
阅读全文