给定一个正方形矩阵,求对角线元素之和(c语言)
时间: 2024-12-28 09:35:33 浏览: 15
当你有一个正方形矩阵(即行数和列数相等的二维数组),你可以通过遍历对角线上的元素来计算它们的和。这里是一个简单的 C 语言函数示例,用于计算给定矩阵的对角线和:
```c
#include <stdio.h>
// 定义矩阵大小
#define ROWS 5
#define COLS 5
// 函数声明
int sumDiagonal(int matrix[ROWS][COLS]);
int main() {
int matrix[ROWS][COLS] = { {1, 2, 3, 4, 5},
{6, 7, 8, 9, 10},
{11, 12, 13, 14, 15},
{16, 17, 18, 19, 20},
{21, 22, 23, 24, 25} }; // 示例矩阵
int diagonalSum = sumDiagonal(matrix);
printf("对角线元素之和为:%d\n", diagonalSum);
return 0;
}
// 函数定义,计算并返回对角线元素和
int sumDiagonal(int matrix[ROWS][COLS]) {
int sum = 0;
for (int i = 0; i < ROWS; i++) {
// 主对角线
sum += matrix[i][i];
// 反对角线,如果存在
if (i + 1 < COLS)
sum += matrix[i][ROWS - 1 - i]; // 对于偶数大小的矩阵才有第二条对角线
}
return sum;
}
```
这个程序首先定义了一个矩阵,然后调用 `sumDiagonal` 函数来计算主对角线和(如果矩阵是奇数行,只有一条;如果是偶数行,则有两条)。在 `sumDiagonal` 函数里,它遍历每个元素并将对角线上的值累加。
阅读全文