| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1085 人关注过本帖
标题:初学数组,请问为什么a[i][i]=1不能行呢
只看楼主 加入收藏
hong222
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-11-20
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
初学数组,请问为什么a[i][i]=1不能行呢
程序代码:
int main()
{
    int a[6][6],i,j;
    for(i=0;i<=5;i++)
    {
        a[i][0]=1;
        a[i][i]=1;
    }
    for(i=2;i<=5;i++)
    {
        for(j=1;j<=i;j++)
            a[i][j]=a[i-1][j-1]+a[i-1][j];
    }
    for(i=0;i<=5;i++)
    {
        for(j=0;j<=i;j++)
            printf("%d ",a[i][j]);
            printf("\n");
    }
    return 0;
}


想要打印6行的杨辉三角,请问为什么结果如图,到了第二行的下标为2的数就不是1了?
图片附件: 游客没有浏览图片的权限,请 登录注册

感激不尽!
搜索更多相关主题的帖子: 数组 int for i++ printf 
2017-11-20 08:56
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:10 
    //int a[6][6],i,j;
    int a[6][6]={0},i,j;
2017-11-20 09:05
hong222
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-11-20
收藏
得分:0 
回复 2楼 吹水佬
谢谢!成功了!
但是对于原因我百度了一下没能搜到,所以能不能继续请教一下:为什么把所有元素初始化为0,a[i][i]就能变成1了..
2017-11-20 09:36
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
以下是引用hong222在2017-11-20 09:36:13的发言:

谢谢!成功了!
但是对于原因我百度了一下没能搜到,所以能不能继续请教一下:为什么把所有元素初始化为0,a[i][i]就能变成1了..

a[i][i]=1; 这句不是都变成 1 了吗?
2017-11-20 09:55
hong222
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-11-20
收藏
得分:0 
回复 4楼 吹水佬
嗯嗯嗯是的但是如果一开始不把a里面所有元素都变成0的话,a[i][i]=1到第二行就不起作用了,就是像一楼的截图 那样
2017-11-20 09:59
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:10 
a[6][6]没初始化0,并不是主要原因
for (i = 2; i <= 5; i++)
{
   for (j = 1; j <= i; j++)                  //假设i=2,j=2时, a[2][2]=a[1][1]+a[1][2] 那么a[1][2]的值是多少,是随机的,然后就一步错步步错了
   a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
}

还是上面的双重for循环,  i==j时, 你已经初始化过了  
故此,将for(j=1; j<=i; j++) 改为 for(j = 1; j < i; j++)

[此贴子已经被作者于2017-11-20 12:05编辑过]


早知做人那么辛苦!  当初不应该下凡
2017-11-20 12:00
如此美好
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-11-17
收藏
得分:0 
楼上正解
2017-11-20 14:29
hong222
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-11-20
收藏
得分:0 
回复 6楼 炎天
谢谢!明白了!
2017-11-20 21:15
快速回复:初学数组,请问为什么a[i][i]=1不能行呢
数据加载中...
 
   



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

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