用C++写蛇形矩阵代码
时间: 2023-05-27 20:05:54 浏览: 93
c++蛇形矩阵
5星 · 资源好评率100%
以下是用C语言写的蛇形矩阵代码:
```c
#include <stdio.h>
int main() {
int n;
printf("请输入矩阵的阶数:\n");
scanf("%d", &n);
int a[n][n];
int i, j, k = 1;
for (i = 0; i < n / 2; i++) {
for (j = i; j < n - i - 1; j++) {
a[i][j] = k++;
}
for (j = i; j < n - i - 1; j++) {
a[j][n - i - 1] = k++;
}
for (j = n - i - 1; j > i; j--) {
a[n - i - 1][j] = k++;
}
for (j = n - i - 1; j > i; j--) {
a[j][i] = k++;
}
}
if (n % 2 == 1) {
a[n / 2][n / 2] = k;
}
printf("蛇形矩阵为:\n");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
printf("%d\t", a[i][j]);
}
printf("\n");
}
return 0;
}
```
运行该代码,输入矩阵的阶数,即可输出对应的蛇形矩阵。例如,输入5,则输出如下蛇形矩阵:
```
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
```
该代码的实现方法是,首先定义一个二维数组a来存储蛇形矩阵。然后,通过四个for循环分别从外到内依次填充矩阵,每次填充完一个圈后,继续填充下一个圈,直到填充完整个矩阵。如果矩阵的阶数为奇数,则最后还需要填充中心位置。最后,通过两个for循环输出蛇形矩阵。
阅读全文