#include<stdio.h>
#include<string.h>
#define N 100
int a[N][N];
int main()
{
int i,j,k,t,m,n;
memset(a,0,sizeof(a));
while(~scanf("%d",&n)){
t=1;
k=1;
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
{
if(t==1){
a[j][i-j+1]=k++;
}
else{
a[i-j+1][j]=k++;
}
}
t=-t;
}
for(i=2;i<=n;i++)
{
for(j=i;j<=n;j++)
{
if(t==1){
a[j][i-j+n]=k++;
}
else{
a[i-j+n][j]=k++;
}
}
t=-t;
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
printf((j%n)?"%3d":"%3d\n",a[i][j]);
}
}
}
return 0;
}
蛇形数 【第二种类型】
时间: 2024-11-05 03:35:16