1、奇数阶魔方阵
奇阶魔方阵的实现步骤:
(1)将“1”放在第一行的中间一列;
(2)从“2”开始直到n*n为止的各数依次按下列规则存放:每一个数存放的行比前一个数的行数减一,列数同样加1.
(3)如果上一个数的列数为1,则下一个数的行数为n(最后一行)
(4)当上一个数的列数为n时,下一个数的列数应为1,行数减1
(5)如果按上面规则确定的位置上已有数,或上一个数是第1行第n列时,则把下一个数放在上一个数的下面
//6-7:奇数阶魔方阵:
//1、1放在第一行中间
//2、后面的数字放在当前数字的上一行、后一列
//3、如果当前位置已经有数据,则放在前一个数字的下一行同列,即行值+2,列值+1
/*
void MagicSquare()
{
#define ROW 3
int arr[ROW][ROW] = {0}; //将魔方阵的各行各列初始化为0
int currow = 0; //当前行:目前为第0行
int curcol = ROW/2; //当前列:目前为第1列
arr[currow][curcol] = 1; //先将数字1放入第0行中间
for(int i = 2;i <= ROW * ROW;i++) //依次将后面的8个数字插入到魔方阵中
{
//currow = currow - 1; //后面的数字放在当前数字的上一行、下一列
//if(currow < 0) //当上一个数字为