用Dole Rob算法生成N阶(N为奇数)魔方阵

2022-07-26 教育 101阅读
请你一次性把要求说完整!百度知道对回答的修改次数是有限制的!加上if(...)的程序如下:
//---------------------------------------------------------------------------
#include

#define
SIZE
9
int
main(void)
{
int
row,col,n,value;
int
a[SIZE+1][SIZE+1]={0};
value=row=1;
col=2;
printf("要输入的魔方阵的阶数n(奇数,<=%d):n=",SIZE);
scanf("%d",&n);
if(!(n%2)||n<1||n>SIZE)
{printf("输出有误,程序输出!\n");
return
-1;
}
col=n/2+1;
do
{
a[row][col]=value;
if
(value%n==0)
row++;
else
{
row--;
col++;
}
if
(row<1)
row=n;
if
(col>n)
col=1;
value++;
}
while
(value<=n*n)
;
for
(row=1;
row<=n;
row++)
{
for
(col=1;
col<=n;
col++)
{
printf("%d
",a[row][col]);
}
putchar('\n');
}
return
0;
}
//---------------------------------------------------------------------------
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com