c语言利用函数判断对称矩阵
时间: 2024-01-20 15:04:39 浏览: 113
判断一个矩阵是否为对称矩阵,可以通过以下步骤实现:
1. 判断矩阵是否为方阵,若不是方阵则不是对称矩阵;
2. 通过双重循环遍历矩阵的每个元素,判断其对应的转置矩阵中的元素是否相等,若有不相等的元素则不是对称矩阵。
下面是一个利用函数判断对称矩阵的示例代码:
```c
#include <stdio.h>
#define MAX_SIZE 100
int is_symmetric(int matrix[MAX_SIZE][MAX_SIZE], int n) {
int i, j;
// 判断是否为方阵
if (n <= 0 || n > MAX_SIZE) {
return 0;
}
// 判断是否为对称矩阵
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
if (matrix[i][j] != matrix[j][i]) {
return 0;
}
}
}
return 1;
}
int main() {
int matrix[MAX_SIZE][MAX_SIZE];
int n, i, j;
printf("请输入矩阵的阶数:");
scanf("%d", &n);
printf("请输入矩阵的元素:\n");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
scanf("%d", &matrix[i][j]);
}
}
if (is_symmetric(matrix, n)) {
printf("该矩阵是对称矩阵。\n");
} else {
printf("该矩阵不是对称矩阵。\n");
}
return 0;
}
```
在这个示例代码中,我们先通过 `is_symmetric` 函数判断矩阵是否为对称矩阵,然后在 `main` 函数中读取用户输入的矩阵元素,并调用 `is_symmetric` 函数进行判断。如果 `is_symmetric` 函数返回 1,则说明矩阵是对称矩阵,否则说明矩阵不是对称矩阵。
阅读全文