编辑代码

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a[15][15],n,i,j,k;
    while (1)
	{
        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;
}