c语言数组对角线求和
时间: 2024-12-25 14:07:58 浏览: 6
在C语言中,计算数组的对角线元素之和通常涉及到二维数组。对角线指的是从左上角到右下角或右上角到左下角的元素集合。这里提供一种基本的方法来计算给定二维数组的对角线和:
```c
#include <stdio.h>
// 函数定义,计算给定二维数组的对角线和
int sumDiagonal(int arr[][n], int n) {
int sum = 0;
for (int i = 0; i < n; i++) {
if (i < n - 1 && i >= 0) { // 上下对角线
sum += arr[i][i];
}
if (i > 0 && i + 1 < n) { // 左右对角线
sum += arr[i][n - 1 - i]; // 或者直接写成 sum += arr[i][n - i - 1];
}
}
return sum;
}
int main() {
int arr[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int size = sizeof(arr) / sizeof(arr[0]); // 获取行数
int diagonalSum = sumDiagonal(arr, size);
printf("对角线元素之和为: %d\n", diagonalSum);
return 0;
}
```
上述代码首先初始化了一个3x3的二维数组,然后定义`sumDiagonal`函数,遍历数组的每个元素,如果元素位于对角线上就累加到总和`sum`中。最后,在主函数中调用这个函数并打印结果。
阅读全文