魔方阵,得不到想要的结果

img


#include 

int main() 
{    
    int a[10][10] = {0};
    int i,j,n,k;
    scanf("%d",&n);
    i = 0;
    j = n/2;
    a[i][j] = 1;
    for(k = 2; k <= n*n; k++)
    {
        i--;
        j++;
        if (i < 0 && j <= n)
            i = n-1;
        if (i < 0 && j > n)
        {
            i = i + 2;
            j = j - 1;
        }
        if (j > n)
            j = 1;
        if (a[i][j] == 0)
            a[i][j] = k;
        else
        {
            i = i + 2;
            j = j - 1;
            a[i][j] = k;
        }
    }
    for(i = 0; i < n; i++)
    {
        for(j = 0; j < n; j++)
        {
            printf("%5d",a[i][j]);
        }
        printf("\n");
    }
    return 0;
}

你要啥样的魔方阵啊?

参考下:https://blog.csdn.net/weixin_61693556/article/details/122073397

你先搜索,什么叫魔方阵,如何建立一个魔方阵
就你这几句代码,明显太少了呀