用C语言编写一个程序,求二维数组对角线之和
时间: 2024-12-13 15:27:33 浏览: 8
在C语言中,你可以通过遍历二维数组并仅累加对角线上的元素来计算对角线之和。这里是一个简单的示例:
```c
#include <stdio.h>
int main() {
int arr[4][4] = { {1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12},
{13, 14, 15, 16} }; // 示例二维数组
int sum_main_diag = 0;
int sum_sec_diag = 0;
// 对主对角线求和
for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) {
sum_main_diag += arr[i][i];
}
// 对副对角线求和(如果数组大小为奇数,从右上到左下;偶数则反向)
if (sizeof(arr) % 2 == 0) {
for (int i = sizeof(arr) / sizeof(arr[0]) - 1; i >= 0; i--) {
sum_sec_diag += arr[i][i];
}
} else {
for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) {
sum_sec_diag += arr[i][i];
}
}
printf("主对角线之和: %d\n", sum_main_diag);
printf("副对角线之和: %d\n", sum_sec_diag);
return 0;
}
```
这个程序首先定义了一个4x4的二维数组作为示例。然后,它分别计算了主对角线(从左上到右下)和副对角线(如果是奇数行,则从右上到左下,如果是偶数行,则从左上到右下的方向)上的元素之和。
阅读全文