c语言求两条对角线上的各元素之和,两条对角线上行、列下标均为偶数的各元素之积
时间: 2024-03-02 16:53:30 浏览: 72
C语言程序设计-分别求一个3×3的整型矩阵两对角线元素之和(或之积)。
5星 · 资源好评率100%
假设这个二维数组为 `mat`,它有 `n` 行 `n` 列,可以按照如下方式求解:
a. 求两条对角线上的各元素之和
```c
int i, j, sum1 = 0, sum2 = 0;
for (i = 0; i < n; i++) {
sum1 += mat[i][i]; // 左上到右下的对角线
sum2 += mat[i][n-i-1]; // 右上到左下的对角线
}
printf("左上到右下的对角线之和为:%d\n", sum1);
printf("右上到左下的对角线之和为:%d\n", sum2);
```
b. 求两条对角线上行、列下标均为偶数的各元素之积
```c
int i, j, product1 = 1, product2 = 1;
for (i = 0; i < n; i += 2) {
for (j = 0; j < n; j += 2) {
if (i == j || i == n-j-1) { // 判断是否在对角线上
product1 *= mat[i][j]; // 左上到右下的对角线
product2 *= mat[i][n-j-1]; // 右上到左下的对角线
}
}
}
printf("左上到右下的对角线上行、列下标均为偶数的元素之积为:%d\n", product1);
printf("右上到左下的对角线上行、列下标均为偶数的元素之积为:%d\n", product2);
```
阅读全文