帮我用c语言写一个蛇形矩阵
时间: 2023-11-28 09:05:24 浏览: 75
好的,请参考以下代码:
```c
#include <stdio.h>
int main() {
int n;
printf("请输入矩阵的阶数:");
scanf("%d", &n);
int matrix[n][n];
int num = 1, row = 0, col = 0;
while (num <= n * n) {
// 向右走
while (col < n && !matrix[row][col]) {
matrix[row][col++] = num++;
}
col--;
row++;
// 向下走
while (row < n && !matrix[row][col]) {
matrix[row++][col] = num++;
}
row--;
col--;
// 向左走
while (col >= 0 && !matrix[row][col]) {
matrix[row][col--] = num++;
}
col++;
row--;
// 向上走
while (row >= 0 && !matrix[row][col]) {
matrix[row--][col] = num++;
}
row++;
col++;
}
// 打印矩阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
printf("%3d", matrix[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
```
阅读全文