c语言设计一个子函数,判断二维数组是否为对称数组(对称矩阵),如果是,则返回1;如果不是,则返回0,并在主函数中调用此函数,判断一个4×4的数组是否为对称数组。
时间: 2023-07-15 12:11:11 浏览: 197
下面是 C 语言代码实现:
```c
#include <stdio.h>
int isSymmetric(int arr[][4], int size) {
for (int i = 0; i < size; i++) {
for (int j = i; j < size; j++) {
if (arr[i][j] != arr[j][i]) {
return 0;
}
}
}
return 1;
}
int main() {
int arr[4][4] = {
{1, 2, 3, 4},
{2, 5, 6, 7},
{3, 6, 8, 9},
{4, 7, 9, 10}
};
int result = isSymmetric(arr, 4);
if (result) {
printf("The array is symmetric.\n");
} else {
printf("The array is not symmetric.\n");
}
return 0;
}
```
在 `isSymmetric` 函数中,我们使用两个循环遍历二维数组中的每个元素。如果某个元素的行下标和列下标不相等,并且该元素的值不等于其对称位置的值,就说明该数组不是对称数组,返回 0。如果遍历完整个数组都没有发现不对称的元素,就说明该数组是对称数组,返回 1。
在主函数中,我们定义了一个 4x4 的二维数组 `arr`,并调用 `isSymmetric` 函数判断该数组是否为对称数组。如果是,输出提示信息 "The array is symmetric.";否则,输出提示信息 "The array is not symmetric."。
阅读全文