| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 398 人关注过本帖
标题:网上找的关于魔方阵的代码,第 15 行 i 的值是多少总是想不明白,求大神指点 ...
只看楼主 加入收藏
TAAAAB
Rank: 7Rank: 7Rank: 7
来 自:湖南
等 级:黑侠
威 望:1
帖 子:243
专家分:635
注 册:2011-5-29
结帖率:95.24%
收藏
已结贴  问题点数:20 回复次数:3 
网上找的关于魔方阵的代码,第 15 行 i 的值是多少总是想不明白,求大神指点。谢谢!
程序代码:
#define N 7
#include<stdio.h>
void main()
{
  int a[N][N],i,j,k;
  for(i=0;i<N;i++)    /*先处理第一行*/
    for(j=0;j<N;j++)
    {
      a[i][j]=0;     /*先令所有元素都为0*/
    }
      j=(N-1)/2;     /*判断j的位置*/
      a[0][j]=1;    /*将1放在第一行中间一列*/
  for(k=2;k<=N*N;k++)    /*再从2开始处理*/
    {
      i=i-1;    /*存放的行比前一个数的行数减1()我的问题就在这行,i的值是多少*/
      j=j+1;    /*存放的列比前一个数的列数加1*/
      if((i<0)&&(j==N))   /*前一个数是第一行第N列时,把下一个数放在上一个数的下面*/
      {
        i=i+2;
        j=j-1;
      }
      else
      {
        if(i<0)    /*当行数减到第一行,返回到最后一行*/
        i=N-1;
        if(j>N-1)   /*当列数加到最后一行,返回到第一行*/
        j=0;
      }
      if(a[i][j]==0)     /*如果该元素为0,继续执行程序*/
        a[i][j]=k;
      else     /*如果该元素不为0,就说明要填的数的位置已经被占,则该数放在上一个数的下面*/
      {
        i=i+2;
        j=j-1;
        a[i][j]=k;
      }
    }
    for(i=0;i<N;i++)    /*输出数组*/
    {
      for(j=0;j<N;j++)
      printf("%5d",a[i][j]);
      printf("\n\n");
    }
  }


求大神指点第15行,i的值应该是多少?
搜索更多相关主题的帖子: color 网上 
2014-05-28 16:41
TAAAAB
Rank: 7Rank: 7Rank: 7
来 自:湖南
等 级:黑侠
威 望:1
帖 子:243
专家分:635
注 册:2011-5-29
收藏
得分:0 
我好像明白了,应该是7

人有多懒,编程就有多难。
2014-05-28 16:48
TAAAAB
Rank: 7Rank: 7Rank: 7
来 自:湖南
等 级:黑侠
威 望:1
帖 子:243
专家分:635
注 册:2011-5-29
收藏
得分:0 
我好像明白了,应该是7

人有多懒,编程就有多难。
2014-05-28 16:48
xsw07122269
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:34
专家分:183
注 册:2014-6-2
收藏
得分:20 
7啊,你前面数组赋初值结束之后i的值变为7了,这样是不对的,前面加一个i=0,j=(N-1)/2
2014-06-03 06:31
快速回复:网上找的关于魔方阵的代码,第 15 行 i 的值是多少总是想不明白,求大 ...
数据加载中...
 
   



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

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