#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,i,j,k,s[15][15];
while(~scanf("%d",&n)){
if(n==0)break;
if(n==1){
printf(" 1\n");
continue;
}
for(i=0;i<=n-1;i++){
s[0][i]=i;
printf("%3d",i+1);
}
printf("\n");
k=n+1;
for(i=1;i<n-1;i++){
s[i][n-1]=k++;
}
for(i=n-1;i>=0;i--)s[n-1][i]=k++;
for(i=n-2;i>=1;i--){
s[i][0]=k++;
}
for(i=1;i<=n-2;i++){
// printf("--------%d\n",n);
printf("%3d",s[i][0]);
for(j=1;j<=(n-2)*3;j++)printf(" ");
printf("%3d",s[i][n-1]);
printf("\n");
}
for(i=0;i<=n-1;i++)printf("%3d",s[n-1][i]);
printf("\n");
}
return 0;
}
n=1时需要特判一下,因为按计算结果直接输出 答案为
1
2