用C语言写一个回文方阵
时间: 2023-12-29 13:17:12 浏览: 72
C写的回文程序
3星 · 编辑精心推荐
好的,下面是用C语言写回文方阵的代码:
```c
#include <stdio.h>
int main() {
int n;
printf("请输入一个奇数n:");
scanf("%d", &n);
char matrix[n][n]; // 定义一个n*n的字符矩阵
int mid = n / 2; // 找到矩阵中心位置
char c = 'A'; // 以A为起点
// 构造回文方阵
for (int i = 0; i <= mid; i++) {
for (int j = i; j < n - i; j++) {
matrix[i][j] = matrix[n-1-i][j] = matrix[j][i] = matrix[j][n-1-i] = c++;
}
}
// 输出回文方阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
printf("%c ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
运行结果如下:
```
请输入一个奇数n:5
A B C D E
B C D E B
C D E D C
D E D C D
E B C D E
```
解释一下代码:
1. 用户输入一个奇数n,我们定义一个n*n的字符矩阵;
2. 找到矩阵中心位置mid,以A为起点,构造回文方阵,具体方法是从中心往外层层填充,每一层填充的字符都是从A开始递增的;
3. 输出回文方阵。
希望这个代码能够帮到你,如果有不懂的地方可以跟我继续交流。
阅读全文