求3×3整形矩阵对角线之和,用c语言写
时间: 2024-11-22 21:47:58 浏览: 24
C语言数组二
在C语言中,求一个3x3整型矩阵的对角线元素之和,你可以创建一个结构体表示矩阵,然后定义两个函数分别计算主对角线和副对角线的和。以下是一个简单的示例:
```c
#include <stdio.h>
// 定义矩阵结构体
typedef struct {
int arr[3][3];
} Matrix;
// 函数来获取主对角线元素和
int getDiagonalSumMain(Matrix matrix) {
int sum = 0;
for (int i = 0; i < 3; i++) {
sum += matrix.arr[i][i];
}
return sum;
}
// 函数来获取副对角线元素和
int getDiagonalSumSecondary(Matrix matrix) {
int sum = 0;
for (int i = 0; i < 3; i++) {
sum += matrix.arr[i][2 - i]; // 注意索引从0开始,所以这里是2-i而不是i+1
}
return sum;
}
int main() {
Matrix m = { {1, 2, 3},
{4, 5, 6},
{7, 8, 9} }; // 示例3x3矩阵
int mainDiagSum = getDiagonalSumMain(m);
int secDiagSum = getDiagonalSumSecondary(m);
printf("主对角线之和: %d\n", mainDiagSum);
printf("副对角线之和: %d\n", secDiagSum);
return 0;
}
```
在这个例子中,`getDiagonalSumMain`函数负责主对角线,而`getDiagonalSumSecondary`函数处理副对角线。在`main`函数中创建了一个矩阵并计算了两者的和。
阅读全文