c语言.设计一个子函数,判断二维数组是否为对称数组(对称矩阵),如果是,则返回1;如果不是,则返回0,并在主函数中调用此函数,判断一个4×4的数组是否为对称数组。
时间: 2024-05-10 13:19:40 浏览: 148
C语言程序设计-求出二维数组周边元素之和,作为函数值返回;二维数组的值在主函数中赋予;.c
5星 · 资源好评率100%
以下是实现代码:
```c
#include <stdio.h>
int isSymmetric(int arr[][4], int n) {
int i, j;
for (i = 0; i < n; i++) {
for (j = 0; j < n; 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}
};
if (isSymmetric(arr, 4)) {
printf("The array is symmetric.");
} else {
printf("The array is not symmetric.");
}
return 0;
}
```
首先定义一个isSymmetric函数来判断二维数组是否为对称数组。这个函数需要传入一个二维数组和它的维度n,然后使用两个for循环来遍历数组,判断对应位置上的元素是否相等。如果有任何一对不相等的元素,则返回0表示不是对称数组;如果所有元素都相等,则返回1表示是对称数组。
在主函数中,定义一个4×4的数组arr,并调用isSymmetric函数来判断它是否为对称数组。如果是,则输出"The array is symmetric.";否则输出"The array is not symmetric."。
以上代码输出结果为"The array is not symmetric.",因为这个数组不是对称矩阵。
阅读全文