| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1405 人关注过本帖
标题:魔方阵,问题。
取消只看楼主 加入收藏
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
结帖率:95.37%
收藏
已结贴  问题点数:20 回复次数:3 
魔方阵,问题。
#define N 7
#include <stdio.h>
int main()
{
     int a[N][N]={0},i=0,j,k;     /*先令所有元素都为0*/
        j=(N-1)/2;
        i=0;
      for(k=1;k<=N*N;)    /*开始处理*/
    {
          if((i<0)&&(j==N))   /*前一个数是第一行第N列时,把下一个数放在上一个数的下面*/
          {
            i=i+2;
            j=j-1;
           }
        else  if(i<0)   /*当行数减到第一行,返回到最后一行*/
             i=N-1;
        else  if(j>N-1)   /*当列数加到最后一行,返回到第一行*/
              j=0;
        else  if(!a[i][j])
        {     /*如果该元素为0,继续执行程序*/
             a[i][j]=k++;         
            i=i-1;
            j=j+1;
        }
       else      /*如果该元素不为0,就说明要填的数的位置已经被占,则该数放在上一个数的下面,放在上一个数的下边不应是i不变吗,为什么是i+2*/
        {
              i=i+2;
               j=j-1;

        }
    }
    for(i=0;i<N;i++)   /* *<="" span="" style="word-wrap: break-word;">输出数组*/
    {
          for(j=0;j<N;j++)
           printf("%-5d",a[i][j]);
          printf("\n\n");
    }
    return 0;
  }



魔方阵,古代又称“纵横图”,是指组成元素为自然数1、2…n的平方的n×n的方阵,其中每个元素值都不相等,且每行、每列以及主、副对角线上各n个元素之和都相等。

如3×3的魔方阵:
    8   1   6
    3   5   7
    4   9   2  
搜索更多相关主题的帖子: 魔方阵 元素 for 一个数 一行 
2017-11-30 21:58
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
回复 2楼 九转星河
恩好的 谢谢,
2017-12-01 12:29
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
回复 5楼 炎天
好的懂了谢谢
2017-12-01 23:58
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
回复 4楼 九转星河
2017-12-01 23:58
快速回复:魔方阵,问题。
数据加载中...
 
   



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

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