在n*n方阵里填入1,2,3,…,n*n,要求填成蛇形。用C语言的代码,要求简单的
时间: 2023-06-19 15:09:58 浏览: 102
下面是一个简单的 C 语言代码,用于将 n\*n 的方阵填成蛇形:
```c
#include <stdio.h>
#define MAX_SIZE 100
int main() {
int n, i, j, k;
int a[MAX_SIZE][MAX_SIZE];
printf("Enter the size of the matrix: ");
scanf("%d", &n);
// 初始化数组
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
a[i][j] = 0;
}
}
// 填充蛇形数组
int num = 1;
for (k = 0; k < n / 2; k++) {
for (j = k; j < n - k - 1; j++) {
a[k][j] = num++;
}
for (i = k; i < n - k - 1; i++) {
a[i][n - k - 1] = num++;
}
for (j = n - k - 1; j > k; j--) {
a[n - k - 1][j] = num++;
}
for (i = n - k - 1; i > k; i--) {
a[i][k] = num++;
}
}
// 输出数组
printf("The snake matrix is:\n");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
printf("%d\t", a[i][j]);
}
printf("\n");
}
return 0;
}
```
该代码首先通过 `scanf` 从用户处获取矩阵的大小,然后初始化一个二维数组并将其所有元素设为 0。接着,使用四个循环来填充蛇形数组,最后输出结果。