1[SP][SP]2[SP][SP]6[SP][SP][EOL]
3[SP][SP]5[SP][SP]7[SP][SP][EOL]
4[SP][SP]8[SP][SP]9[SP][EOF]
#include
int print(int n,int a[][100])
{
int i,j,k;
a[0][0]=1;
for(i=2;i<=n;i++)
{
if(i%2==0)
{
j=i-1;
a[0][j]=a[0][j-1]+1;
j--;
for(k=1;k {
a[k][j]=a[k-1][j+1]+1;
}
}
else
{
k=i-1;
a[k][0]=a[k-1][0]+1;
k--;
for(j=1;k>=0;k--,j++)
{
a[k][j]=a[k+1][j-1]+1;
}
}
}
a[n-1][n-1]=n*n;
for(i=n-1;i>0;i--)
{
if(i%2==0)
{
k=n-i;
a[k][n-1]=a[k-1][n-1]+1;
k++;
for(j=n-2;j>=n-i;k++,j--)
{
a[k][j]=a[k-1][j+1]+1;
}
}
else
{
j=n-i;
a[n-1][j]=a[n-1][j-1]+1;
j++;
for(k=n-2;k>=n-i;k--,j++)
{
a[k][j]=a[k+1][j-1]+1;
}
}
}
return 0;
}
int main()
{
int n,i,j,a[100][100];
while(scanf("%d",&n)!=EOF&&n>0&&n<100)
{
print(n,a);
for(i=0;i{
if(i!=n-1)
{
for(j=0;jprintf("%-6d",a[i][j]);
printf("\n");}
else{
for(j=0;jprintf("%-6d",a[i][j]);
}
}
}
return 0;
}
int main()
{
int n,i,j,a[100][100];
while(scanf("%d",&n)!=EOF&&n>0&&n<100)
{
print(n,a);
for(i=0;i{
if(i!=n-1)
{
for(j=0;jprintf("%-6d",a[i][j]);
printf("\n");}
else{
for(j=0;jprintf("%-6d",a[i][j]);
}
}
printf("\n");//在这里加个换行试试
}
return 0;
}
#include
int main()
{
int n,k,i,j,a[100][100]={0};
while(scanf("%d",&n)!=EOF)
{
k=1;
i=0;j=0;
while(!(i==n-1&&j==n-1))
{
if(i==0&&(i+j)%2==0&&j!=n-1||i==n-1&&(i+j)%2!=0)
{
a[i][j]=k;
j++;
k++;
}
else
if(j==n-1&&(i+j)%2==0||j==0&&(i+j)%2!=0&&j!=n)
{
a[i][j]=k;
i++;
k++;
}
else
if(j!=0&&i!=n-1&&(i+j)%2!=0)
{
a[i][j]=k;
i++;
j--;
k++;
}
else
if(i!=0&&j!=n&&(i+j)%2==0)
{
a[i][j]=k;
i--;
j++;
k++;
}
}
a[i][j]=k;
for(i=0;i{
for(j=0;jprintf("%-3d",a[i][j]);
printf("\n");
}
}
return 0;
}
#include
int print(int n,int a[][100])
{
int i,j,k;
a[0][0]=1;
for(i=2;i<=n;i++)
{
if(i%2==0)
{
j=i-1;
a[0][j]=a[0][j-1]+1;
j--;
for(k=1;k {
a[k][j]=a[k-1][j+1]+1;
}
}
else
{
k=i-1;
a[k][0]=a[k-1][0]+1;
k--;
for(j=1;k>=0;k--,j++)
{
a[k][j]=a[k+1][j-1]+1;
}
}
}
a[n-1][n-1]=n*n;
for(i=n-1;i>0;i--)
{
if(i%2==0)
{
k=n-i;
a[k][n-1]=a[k-1][n-1]+1;
k++;
for(j=n-2;j>=n-i;k++,j--)
{
a[k][j]=a[k-1][j+1]+1;
}
}
else
{
j=n-i;
a[n-1][j]=a[n-1][j-1]+1;
j++;
for(k=n-2;k>=n-i;k--,j++)
{
a[k][j]=a[k+1][j-1]+1;
}
}
}
return 0;
}
int main()
{
int n,i,j,a[100][100];
while(scanf("%d",&n)!=EOF&&n>0&&n<100)
{
print(n,a);
for(i=0;i{
if(i!=n-1)
{
for(j=0;jprintf("%-3d",a[i][j]);//两处-6d改为-3d
printf("\n");}
else{
for(j=0;jprintf("%-3d",a[i][j]);
printf("\n");//加换行
}
}
}
return 0;
}
#include
int print(int n,int a[][100])
{
int i,j,k;
a[0][0]=1;
for(i=2;i<=n;i++)
{
if(i%2==0)
{
j=i-1;
a[0][j]=a[0][j-1]+1;
j--;
for(k=1;k {
a[k][j]=a[k-1][j+1]+1;
}
}
else
{
k=i-1;
a[k][0]=a[k-1][0]+1;
k--;
for(j=1;k>=0;k--,j++)
{
a[k][j]=a[k+1][j-1]+1;
}
}
}
a[n-1][n-1]=n*n;
for(i=n-1;i>0;i--)
{
if(i%2==0)
{
k=n-i;
a[k][n-1]=a[k-1][n-1]+1;
k++;
for(j=n-2;j>=n-i;k++,j--)
{
a[k][j]=a[k-1][j+1]+1;
}
}
else
{
j=n-i;
a[n-1][j]=a[n-1][j-1]+1;
j++;
for(k=n-2;k>=n-i;k--,j++)
{
a[k][j]=a[k+1][j-1]+1;
}
}
}
return 0;
}
int main()
{
int n,i,j,a[100][100];
while(scanf("%d",&n)!=EOF&&n>0&&n<100)
{
print(n,a);
for(i=0;i{
if(i!=n-1)
{
for(j=0;jprintf("%d ",a[i][j]);
printf("\n");}
else{
for(j=0;jprintf("%d ",a[i][j]);
}
}
}
return 0;
}