判断矩阵中对角线左右两侧元素是否相同,c语言
时间: 2024-10-18 12:11:18 浏览: 19
在 C 语言中,如果你需要判断一个给定矩阵 `matrix` 是否对角线左右两侧的元素相同,你可以编写如下的函数:
```c
#include <stdio.h>
#include <stdbool.h> // 引入布尔型数据类型
bool check_diagonal_elements(int rows, int cols, int matrix[rows][cols]) {
bool is.symmetric = true; // 初始化为真,假设是对称的
for (int i = 0; i < rows && is.symmetric; i++) {
for (int j = 0; j < cols && is.symmetric; j++) {
if (i != j && matrix[i][j] != matrix[j][i]) {
is.symmetric = false; // 发现不同则标记为非对称
break; // 跳出当前行,继续下一行检查
}
}
}
return is.symmetric; // 返回最终的结果
}
int main() {
int rows, cols;
printf("请输入矩阵的行数和列数: ");
scanf("%d %d", &rows, &cols);
int matrix[rows][cols]; // 矩阵声明
printf("请输入矩阵的元素:\n");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
scanf("%d", &matrix[i][j]);
}
}
bool result = check_diagonal_elements(rows, cols, matrix);
if (result) {
printf("矩阵是对称的.\n");
} else {
printf("矩阵不是对称的.\n");
}
return 0;
}
阅读全文