#include<stdio.h>
#define N 20
int main()
{
int i, j, a[N][N], n, k;
printf("请输入矩阵的阶:\n");
scanf_s("%d",&n);
k = 1;
for (i = 1; i <= n; i++)
{
for (j = 1; j <= i; j++)
{
if (i %2== 0)
{
a[i + 1 - j][j] = k;
}
else
{
a[j][i + 1 - j] = k;
}
k++;
}
}
for (i = n + 1; i < 2 * n; i++)
{
for (j = 1; j <= 2 * n - i; j++)
{
if (i % 2 == 0)
{
a[n + 1 - j][i - n + j] = k;
}
else
{
a[i - n + j][n + 1 - j] = k;
}
k++;
}
}
printf("蛇形方针如下:\n");
for (i = 1; i <= n; i++)
{
for (j = 1; j <= n; j++)
{
printf("%4d", a[i][j]);
}
printf("\n");
}
getchar();
return 0;
}