#include
#include
int main(){
int n,b,t,i,j;
scanf("%d",&n);
t=pow(n,/2);
int a[t][t];
a[0][(t-1)/2]=1;
i=t-1;j=t-1;b=2;
a[i][j]=b;
for(b=2;b<=n;b++)
{if(i==0)
i=t-1;
a[i][j]=b+1;};
for(b=2;b<=n;b++)
{if(j=t-1)
j=0,i=i-1;
a[i][j]=b+1;};
for(b=2;b
{i=i-1;
a[i][j]=b+1;};};
for(b=2;b<=n;b++)
{if(i!=0&&j!=t-1&&a[i-1][j+1]==0)
i=i-1,j=j+1;
a[i][j]=b+1;};
for(i=0;i<=t-1;i++)
{for(j=0;j<=t-1;j++)
{printf("%d\t",a[i][j]);};
printf("\n");};
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[15][15],n,i,j,k,;
while (1){
printf("请输入n(1~15):\n");
scanf("%d",&n);
if(n!=0&&n<=15&&n%2!=0)
break;
else{
printf("请输入奇数\n");
continue;
}
}
for (i=1;i<=n;i++){
for (j=1;j<=n;j++){
a[i][j]=0;
}
}
j=n/2+1;
a[1][j]=1;
i=1;
for(k=2;k<=n*n;k++){
i-=1;
j+=1;
if(i<1&&j>n){
i+=2;
j-=1;
}
else if(i<1){
i=n;
}else if(j>n){
j=1;
}
if(a[i][j]==0){
a[i][j]=k;
}else{
i+=2;
j-=1;
a[i][j]=k;
}
}
for (i=1;i<=n;i++){
for (j=1;j<=n;j++){
printf("%5d",a[i][j]);
}
printf("\n");
}
return 0;
}