| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1443 人关注过本帖
标题:杨辉的双重for循环疑问,望解答!~
只看楼主 加入收藏
雪山的猫
Rank: 1
等 级:新手上路
帖 子:44
专家分:5
注 册:2012-12-23
结帖率:95.24%
收藏
已结贴  问题点数:20 回复次数:5 
杨辉的双重for循环疑问,望解答!~
我在看编程中在杨辉的三角中有这样的for
     main()
     .......
     for(i=2;i<10;i++)
  @      for(j=1;j<i;j++)
            a[i][j]=a[i-1][j-1]+a[i][j-1];
     .......
     for(i=0;i<10;i++)
   #     for(j=0;j<=i;j++)
          printf("%5d",a[i][j]);
        printf("\n");
问题来了,我不理解“@”处和“#”处的“j”为嘛不一样。我若在任意一个j中,去或加个“=”的话,结果就会变化并出错!
或许我对这个双for了解也不大深,所以发帖希望大家有能之人,帮忙解答下!!谢谢!!
2013-02-02 10:36
a1024204390
Rank: 2
来 自:河南周口郸城
等 级:论坛游民
帖 子:87
专家分:67
注 册:2012-6-27
收藏
得分:0 
我只知道第一个for循环i-1次,第二个循环j+1次

永不言败!never say die!
2013-02-02 12:16
幽灵X
Rank: 5Rank: 5
等 级:职业侠客
帖 子:128
专家分:328
注 册:2013-1-28
收藏
得分:0 
能不能给出全部源程序,你的问题我以前好像犯过,跟定义的数组大小有关,有可能是越界了。
2013-02-02 12:23
tompobing
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:260
专家分:809
注 册:2012-12-9
收藏
得分:10 
@那个j是给每个位置赋值的列值;#那个j是打印输出用的,每行打印的个数跟行号相等,行号从0开始,所以j<=i
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
这是杨辉三角,你的第一个循环 for(i=2;i<10;i++)是从i=2也就是第三行开始, for(j=1;j<i;j++)是从j=1也就是第二列开始;在这个双循环前面应该还有给第一列和斜对角的赋值,给他们都赋值1,就是for(i=0;i<5;i++) a[i][0]=1;   for(i=0;i<5;i++) a[i][i]=1;   

2013-02-02 15:00
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:0 
有时不要太在意变量的形式,也可换掉一个j,关键是楼上所说每个循环的实际功能。

www.qunxingw.wang
2013-02-02 15:23
h1023417614
Rank: 4
等 级:禁止访问
帖 子:211
专家分:237
注 册:2012-11-30
收藏
得分:10 
2013-02-02 19:04
快速回复:杨辉的双重for循环疑问,望解答!~
数据加载中...
 
   



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

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