关于魔方阵的代码

riga 2005-01-31 12:06:42
代码如下,请各位帮我看一下哪出错了:

main()
{ int i,j,k;
int a[5][5];
i=0;
j=2;
a[0][2]=1;
for(k=2;k<=25;k++)
{ if (i==0)
{ i=4,j=j+1;
}
if (i==4)
{ i=i-1,j=i;
}
if (i>0)
{ i=i-1,j=j+1;
}
a[i][j]=k;
}
for(i=0;i<=4;i++)
{ for(j=0;j<=4;j++)
{ printf("%4d",a[i][j]);
printf("\n);
}
}







...全文
115 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangwanlong 2005-01-31
  • 打赏
  • 举报
回复
#define MAGIC_MAX 31

void MakeMagicSquare(int a)
{
int i,j,k,c;
int m[MAGIC_MAX][MAGIC_MAX];
c=a*a;
j=0;
k=a/2;
for(i=1;i<=c;i++){
m[j][k]=i;
if(i%a==0){
if(j==a-1)
j=0;
else
j++;
}
else{
if(j==0)
j=a-1;
else
j--;
if(k==a-1)
k=0;
else
k++;
}
}
for(i=0;i<a;i++){
for(j=0;j<a;j++)
printf("%4d",m[i][j]);
printf("\n");
}
return;
}
Leaveye 2005-01-31
  • 打赏
  • 举报
回复
main()
{
int i, j, k;
int a[5][5] = { 0 };
i = 0;
j = 2;
a[0][2] = 1;
for (k = 2; k <= 25; k++) {
if (k % 5 == 1) {
++i;
} else {
--i;
++j;
}
if (i < 0) i = 4;
if (i > 4) i = 0;
if (j > 4) j = 0;
a[i][j] = k;
}

for (i = 0; i <= 4; i++) {
for (j = 0; j <= 4; j++) {
printf("%4d", a[i][j]);
}
printf("\n");
}
}

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧