当前位置: 代码迷 >> C语言 >> 自己编的魔方阵程序
  详细解决方案

自己编的魔方阵程序

热度:356   发布时间:2008-06-11 14:40:34.0
自己编的魔方阵程序
#include<stdio.h>
#define MAX 30
int square[MAX][MAX];
int N;
void magic();
void main()
{
    int i,j;
    do
    {
         printf("please enter odd matrix size:");
         scanf("%d",&N);
         if(N%2==0||N<=0||N>30)
             printf("should be>0 and<30 odd number");
         else
             break;
    }while(1);
    magic();
    printf("\nthe %d*%d magic matrix\n",N,N);
    printf("__________________________________\n");
    for(i=0;i<N;i++)
    {
        for(j=0;j<N;j++)
            printf("%5d",square[i][j]);
        printf("\n");
    }
    printf("__________________________________\n");
}
void magic()
{
    int i,j,p,q,key;
    for(i=0;i<N;i++)
        for(j=0;j<N;j++)
            square[i][j]=0;
        square[0][(N-1)/2]=1;
        i=0;
        j=(N-1)/2;
        key=2;
        while(key<=N*N)
        {
            p=i-1;
            q=j-1;
            if(p<0) p=N-1;
            if(q<0) q=N-1;
            if(square[p][q]!=0)
                i=i+1;
            else
            {
                i=p;
                j=q;
            }
            square[i][j]=key;
            key++;
        }
}

[[it] 本帖最后由 huizi0711 于 2008-6-11 14:41 编辑 [/it]]

[[it] 本帖最后由 huizi0711 于 2008-6-11 14:42 编辑 [/it]]
搜索更多相关的解决方案: 魔方  MAX  square  printf  

----------------解决方案--------------------------------------------------------
坐个沙发
----------------解决方案--------------------------------------------------------
做地板!!
----------------解决方案--------------------------------------------------------
奇数阶幻方的生成其实只要不到三行代码就搞定了



[color=white]
----------------解决方案--------------------------------------------------------
什么叫魔方阵啊?
----------------解决方案--------------------------------------------------------
我是新手
是不是每个程序都要加预处理命令啊
----------------解决方案--------------------------------------------------------
[bo][un]天擎[/un] 在 2008-6-11 15:34 的发言:[/bo]

我是新手
是不是每个程序都要加预处理命令啊

预处理?什么意思?
----------------解决方案--------------------------------------------------------
#include<....>之类吧
----------------解决方案--------------------------------------------------------
LS的LS可是山东临沂人
----------------解决方案--------------------------------------------------------
[bo][un]网易[/un] 在 2008-6-11 16:04 的发言:[/bo]

LS的LS可是山东临沂人

你怎么知道我是山东人
----------------解决方案--------------------------------------------------------
  相关解决方案