输入n×n阶的矩阵(用二维数组存放,n<=10),编程计算:(1)两条对角线上的各元素之和。(2)两条对角线上行、列下标均为偶数的各元素之积。C语言编写
时间: 2024-02-25 09:51:54 浏览: 109
好的,请见以下 C 语言代码实现:
```c
#include <stdio.h>
int main() {
int n;
printf("请输入矩阵阶数n(n<=10):");
scanf("%d", &n);
int matrix[10][10];
printf("请输入矩阵元素:\n");
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &matrix[i][j]);
}
}
// 计算对角线之和
int sum1 = 0, sum2 = 0;
for (int i = 0; i < n; i++) {
sum1 += matrix[i][i]; // 左上-右下对角线
sum2 += matrix[i][n-i-1]; // 右上-左下对角线
}
printf("对角线上的元素之和为 %d\n", sum1+sum2);
// 计算对角线上行、列下标均为偶数的元素之积
int product = 1;
for (int i = 0; i < n; i += 2) {
if (i == n-i-1) { // 如果是对角线上的元素
product *= matrix[i][i];
} else {
product *= matrix[i][i] * matrix[i][n-i-1] * matrix[n-i-1][i] * matrix[n-i-1][n-i-1];
}
}
printf("对角线上行、列下标均为偶数的元素之积为 %d\n", product);
return 0;
}
```
注意,如果您想要使用中文的话,需要将代码文件的编码格式设置为 UTF-8。
阅读全文