标题:关于输出魔方阵的问题
只看楼主
清风拂晓
Rank: 8Rank: 8
来 自:火星
等 级:蝙蝠侠
威 望:1
帖 子:356
专家分:889
注 册:2010-8-13
结帖率:96.15%
已结贴  问题点数:20 回复次数:3 
关于输出魔方阵的问题
输出一个1~N^2的自然数构成的魔方阵。
就是每一行,每一列和对角线之和均相等。  例如3阶魔方阵:
8 1 6
3 5 7
4 9 2
请写个程序参考参考
搜索更多相关主题的帖子: 魔方 输出 
2010-08-18 11:24
jack10141
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:陕西西安
等 级:小飞侠
威 望:6
帖 子:706
专家分:2271
注 册:2010-8-10
得分:0 
以下是引用清风拂晓在2010-8-18 11:24:59的发言:

输出一个1~N^2的自然数构成的魔方阵。
就是每一行,每一列和对角线之和均相等。  例如3阶魔方阵:
8 1 6
3 5 7
4 9 2
请写个程序参考参考
这个叫做幻方,不叫魔方啊!程序等会给你贴上
程序代码:
#include <time.h>
#include <stdio.h>
#define N 5  //幻方的阶数,可以改成任意大于等于3的奇数
main()
{
   int a[100][100]={0},i,k,m,iold,kold,x,y;
   i=1,k=N/2+1;
   for(m=1;m<=N*N;m++)
   {
      a[i][k]=m;
      iold=i,kold=k;
      i--,k++;
      if(i==0)i=N;
      if(k==N+1)k=1;
      if(a[i][k]!=0)i=iold+1,k=kold;
      for(x=1;x<=N;x++)
      {
     for(y=1;y<=N;y++)
        printf("%5d",a[x][y]);
     printf("\n");
      }
      printf("\n\n");
      for(x=0;x<10;x++)  //延时0.3秒
       delay(29999);
   }
   getchar();

}


[ 本帖最后由 jack10141 于 2010-8-18 12:16 编辑 ]

Coding就像一盒巧克力,你永远不会知道你会遇到什么BUG
别跟我说你是不能的,这让我愤怒,因为这侮辱了你的智慧
2010-08-18 12:08
jack10141
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:陕西西安
等 级:小飞侠
威 望:6
帖 子:706
专家分:2271
注 册:2010-8-10
得分:20 
回复 楼主 清风拂晓
你可以把演示显示的代码去掉,直接显示结果!代码如下:
程序代码:
#include <time.h>
#include <stdio.h>
#define N 5
main()
{
   int a[100][100]={0},i,k,m,iold,kold,x,y;
   i=1,k=N/2+1;
   for(m=1;m<=N*N;m++)
   {
      a[i][k]=m;
      iold=i,kold=k;
      i--,k++;
      if(i==0)i=N;
      if(k==N+1)k=1;
      if(a[i][k]!=0)i=iold+1,k=kold;
   }
    for(x=1;x<=N;x++)
    {
     for(y=1;y<=N;y++)
        printf("%5d",a[x][y]);
     printf("\n");
    }
      printf("\n\n");

   getchar();

}

Coding就像一盒巧克力,你永远不会知道你会遇到什么BUG
别跟我说你是不能的,这让我愤怒,因为这侮辱了你的智慧
2010-08-18 12:19
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
得分:0 
不错不错
另外,楼上的签名是什么意思呢

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-08-18 15:43



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




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

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