标题:请教:魔方阵问题
取消只看楼主
wwe
Rank: 2
来 自:中国安徽
等 级:论坛游民
帖 子:37
专家分:37
注 册:2009-8-3
结帖率:100%
已结贴  问题点数:30 回复次数:0 
请教:魔方阵问题
#include "stdio.h"
main()
{  
   int a[20][20];
   int i=0,j=0,k,n;
   printf("input the number(1-20):");
   scanf("%d",&n);
   a[i][j]=1;
   for(k=2;k<=n*n;k++)
   {
        i=i-1;
        j=j+1;
        if(i==-1) i=n-1;
        if(j==n+1) j=0;
        if(a[i][j]!='\0')
        {
          if(i==n-2) i=0;
          else if(i==n-1) i=1;
          else i=i+2;
          if(j==0) j=n-1;
          else j=j-1;
          a[i][j]=k;
     }
     else a[i][j]=k;
   }
   for(i=0;i<n;i++)
    for(j=0;j<n;j++)
     {
       printf("%d ",a[i][j]);
       if(j==n-1) printf("\n");
     }
}
按照我的思路,随便输入1-20之间的数 n ,接着输出 n 阶魔方阵,结果却是错误的,请各位帮忙看一下,程序错在了什么地方?谢谢!
搜索更多相关主题的帖子: 魔方 
2009-08-08 23:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-282061-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.706118 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved