请用C语言程序写出求一个n*n整型矩阵副对角线元素之和的程序代码
时间: 2024-12-03 11:32:20 浏览: 22
C语言程序设计-分别求一个3×3的整型矩阵两对角线元素之和(或之积)。
5星 · 资源好评率100%
在C语言中,我们可以编写一个函数来计算给定矩阵的副对角线元素之和。假设矩阵是一个二维数组`matrix`,其大小为`n * n`。以下是一个简单的示例:
```c
#include <stdio.h>
// 函数声明
int sumAntiDiagonal(int matrix[n][n], int n);
int main() {
int n, i, j;
printf("请输入矩阵的行数n: ");
scanf("%d", &n);
// 创建一个示例矩阵
int matrix[n][n];
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
matrix[i][j] = (i + j) % n + 1; // 只为了演示,实际数值可以替换为任意值
printf("%d ", matrix[i][j]);
}
printf("\n");
}
int antiDiagSum = sumAntiDiagonal(matrix, n);
printf("矩阵副对角线元素之和为: %d\n", antiDiagSum);
return 0;
}
// 计算副对角线元素之和的函数
int sumAntiDiagonal(int matrix[n][n], int n) {
int sum = 0;
for (int i = 0; i < n; i++) {
sum += matrix[i][n - 1 - i]; // 从左上角开始取到右下角
}
return sum;
}
```
在这个程序中,我们首先读入用户输入的矩阵尺寸`n`,然后创建一个矩阵并填充一些示例数据。`sumAntiDiagonal`函数遍历矩阵的副对角线,将每个元素累加到`som`中,最后返回总和。
阅读全文