```c #include <stdio.h> int main() { int n; while (1) { scanf("%d", &n); if (n == 0) { break; } int matrix[n][n]; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { scanf("%d", &matrix[i][j]); } } int isSymmetric = 1; for (int i = 0; i < n; i++) { for (int j = 0; j < i; j++) { if (matrix[i][j]!= matrix[j][i]) { isSymmetric = 0; break; } } if (!isSymmetric) { break; } } if (isSymmetric) { printf("yes.\n"); } else { printf("no.\n"); } } return 0; } ``` 额外需要注意的逻辑点: 1. 要确保输入的 n 值合法,即大于 0 且小于等于 20。 2. 输入矩阵元素时,要注意处理输入错误的情况。 3. 循环判断矩阵是否对称时,要注意边界条件,避免越界访问。 [2024-12-04 17:08:43 | AI写代码神器 | 325点数解答]