输入4*4的二维数组,输出主对角线和副对角线只和
时间: 2023-05-19 15:05:31 浏览: 64
可以使用以下代码来实现:
```
int sumDiagonal(int arr[4][4]) {
int sum = 0;
for (int i = 0; i < 4; i++) {
sum += arr[i][i]; // 主对角线
sum += arr[i][3-i]; // 副对角线
}
return sum;
}
```
这个函数接受一个4*4的二维数组,然后计算出主对角线和副对角线的和,并返回结果。
相关问题
二维数组求主对角线和
以下是Python实现二维数组求主对角线和的代码和解释:
```python
# 定义一个二维数组
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# 初始化主对角线和为0
sum = 0
# 遍历二维数组,累加主对角线上的元素
for i in range(len(matrix)):
sum += matrix[i][i]
# 输出主对角线和
print("主对角线和为:", sum)
```
解释:
1. 首先定义一个二维数组matrix,其中包含3个列表,每个列表包含3个元素。
2. 初始化主对角线和为0。
3. 使用for循环遍历二维数组,i的取值范围是0到2,即遍历每一行。
4. 在循环中,使用matrix[i][i]获取主对角线上的元素,并累加到sum中。
5. 循环结束后,输出主对角线和。
要求:编写程序输入一个4 * 4的二维数组,输出此二维数组;并分别求出其主对角线与副对角线的和
代码如下:
```python
# 输入二维数组
matrix = []
for i in range(4):
row = input("请输入第{}行(以空格分隔):".format(i+1)).split()
matrix.append([int(num) for num in row])
# 输出二维数组
print("输入的二维数组为:")
for i in range(4):
for j in range(4):
print("{:4d}".format(matrix[i][j]), end="")
print()
# 求主对角线的和
sum1 = 0
for i in range(4):
sum1 += matrix[i][i]
print("主对角线的和为:{}".format(sum1))
# 求副对角线的和
sum2 = 0
for i in range(4):
sum2 += matrix[i][3-i]
print("副对角线的和为:{}".format(sum2))
```
运行示例:
```
请输入第1行(以空格分隔):1 2 3 4
请输入第2行(以空格分隔):5 6 7 8
请输入第3行(以空格分隔):9 10 11 12
请输入第4行(以空格分隔):13 14 15 16
输入的二维数组为:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
主对角线的和为:34
副对角线的和为:34
```