C语言判断对称矩阵的代码是什么
时间: 2024-12-21 14:24:34 浏览: 16
在C语言中,判断一个矩阵是否是对称的通常涉及到比较矩阵的每个元素与其对应的转置位置的值是否相等。下面是一个简单的示例代码:
```c
#include <stdbool.h>
#include <stdio.h>
#define ROWS 5
#define COLS 5
bool isSymmetric(int matrix[ROWS][COLS]) {
int i, j;
for (i = 0; i < ROWS; i++) {
for (j = 0; j < i; j++) {
if (matrix[i][j] != matrix[j][i]) {
return false; // 如果发现不对称,立即返回false
}
}
}
return true; // 遍历结束后无误,说明矩阵是对称的
}
int main() {
int matrix[ROWS][COLS] = { {1, 2, 3, 4, 5},
{2, 1, 4, 5, 6},
{3, 4, 1, 7, 8},
{4, 5, 7, 1, 9},
{5, 6, 8, 9, 1} };
if (isSymmetric(matrix)) {
printf("矩阵是对称的。\n");
} else {
printf("矩阵不是对称的。\n");
}
return 0;
}
```
在这个例子中,`isSymmetric`函数接收一个二维数组作为输入,并通过两个嵌套循环检查每个元素及其对应转置位置的元素是否相等。如果找到不相等的元素,就返回`false`,表示矩阵不对称;遍历完成后所有元素都匹配,则返回`true`。
阅读全文