| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 325 人关注过本帖
标题:请教高手帮忙,谢谢
只看楼主 加入收藏
刘暮哲
Rank: 2
来 自:江苏
等 级:论坛游民
帖 子:75
专家分:83
注 册:2009-9-25
结帖率:69.23%
收藏
已结贴  问题点数:5 回复次数:8 
请教高手帮忙,谢谢
第一个:
#define n 9
#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;
       }
   i=0;
   j=(n-1)/2;
   for(k=1;k<n*n;)
    {    if((i==0)&&(j==n-1))
        {   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])
             { a[i][j]=k++;
               i=i-1;
               j=j+1;}
        else
        { i=i+2;
          j=j-1;
        }


    }
    for(i=0;i<n;i++)
    { for(j=0;j<n;j++)
      
           printf("%5d",a[i][j]);
           printf("\n\n");
    }
}


 
第二个:

#define n 9
#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;
       }
   i=0;
   j=(n-1)/2;
   a[i][j]=1;
   for(k=2;k<n*n;)
    {    if((i==0)&&(j==n-1))
        {   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])
             { a[i][j]=k++;
               i=i-1;
               j=j+1;}
        else
        { i=i+2;
          j=j-1;
        }


    }
    for(i=0;i<n;i++)
    { for(j=0;j<n;j++)
      
           printf("%5d",a[i][j]);
           printf("\n\n");
    }
}


这两个程序,第一个就可以运行,二第二个就是不可以,就是红色代码部分不一样 但是我 觉得功能是一样的  为啥急不能运行啊   请高手帮我看看  谢谢
   
搜索更多相关主题的帖子: include 
2009-09-25 20:58
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
你的程序在TC2.0 下运行不出来,有错误。在TC++3.0 下没问题。
两个程序都有结果,不过不相同。我不清楚,我都没有理解程序的目的是什么。呵呵。等高手吧。
2009-09-25 21:44
飞天的猪
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:67
专家分:141
注 册:2009-9-19
收藏
得分:1 
在VC6.0下都可以运行
2009-09-25 21:58
刘暮哲
Rank: 2
来 自:江苏
等 级:论坛游民
帖 子:75
专家分:83
注 册:2009-9-25
收藏
得分:0 
我都是在vc下运行的  楼上的你第二个也可以运行?

做最好的自己
2009-09-25 22:05
刘暮哲
Rank: 2
来 自:江苏
等 级:论坛游民
帖 子:75
专家分:83
注 册:2009-9-25
收藏
得分:0 
主要是做的魔方阵(奇数)

做最好的自己
2009-09-25 22:06
飞天的猪
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:67
专家分:141
注 册:2009-9-19
收藏
得分:0 
………………
2009-09-25 22:16
cxg8790809
Rank: 2
等 级:论坛游民
帖 子:18
专家分:22
注 册:2009-9-25
收藏
得分:4 
i=0;
   j=(n-1)/2;
   a[i][j]=1;
   for(k=2;k<n*n;)

这里如果不给a[i][j];不赋植的话 下面的else if 不会执行的;这就是两个程序的差别了;
else if(!a[i][j])
             { a[i][j]=k++;
               i=i-1;
               j=j+1;}  
2009-09-25 23:21
刘暮哲
Rank: 2
来 自:江苏
等 级:论坛游民
帖 子:75
专家分:83
注 册:2009-9-25
收藏
得分:0 
谢谢楼上的  是赋值的问题  假如我先定义a[i][j]=1;而且我的循环条件是else if(!a[i][j]) 就不循环了。连开始都不循环了  就僵在那了   呵呵 谢谢啊

做最好的自己
2009-09-26 10:42
飞天的猪
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:67
专家分:141
注 册:2009-9-19
收藏
得分:0 
哈哈O(∩_∩)O~
我也好像明白了
2009-09-26 12:13
快速回复:请教高手帮忙,谢谢
数据加载中...
 
   



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

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