c语言,题目要求求一个3×3矩阵两条对角线上元素之和(中心元素只加一次)。
时间: 2023-12-01 21:02:22 浏览: 85
可以先定义一个二维数组来存储矩阵,然后使用for循环遍历数组,累加对角线上的元素。中心元素只需要在第一条对角线上计算即可,避免重复计算。
下面是一个示例代码:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 3
int main() {
int matrix[ROWS][COLS] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int sum = 0;
int i, j;
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
if (i == j || i + j == ROWS - 1) {
sum += matrix[i][j];
if (i == 1 && j == 1) { // 中心元素
sum -= matrix[i][j];
}
}
}
}
printf("对角线上的元素之和为:%d\n", sum);
return 0;
}
```
输出结果为:
```
对角线上的元素之和为:25
```
阅读全文