搜索
查看: 1098|回复: 3
打印 上一主题 下一主题

有点乱,求大神帮忙捋一捋

[复制链接]
跳转到指定楼层
楼主
发表于 2013-12-8 00:38:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
以下程序的输出结果是________。
main()
{ int n[3][3],i,j;
  for(i=0;i<3;i++)
    for(j=0;j<3;j++)  n[i][j]=i+j;
  for(i=0;i<2;i++)
    for( j=0;j<2;j++) n[i+1][j+1]+=n[i][j];
  printf("%d\n",n[i][j]);  
}

最佳答案

查看完整内容

第一次迭代 0+0 0+1 0+2 1+0 1+1 1+2 2+0 2+1 2+2 0 1 2 1 2 3 2 3 4 第二次迭代,加左上方的值 0 1 2 1 2+0 3+1 2 3+1 4+2+0 所以是4+2+0 = 6 自己动手算一遍就好……
沙发
发表于 2013-12-8 00:38:02 | 只看该作者
第一次迭代
0+0 0+1 0+2
1+0 1+1 1+2
2+0 2+1 2+2

0 1 2
1 2 3
2 3 4
第二次迭代,加左上方的值
0 1       2
1 2+0   3+1
2 3+1   4+2+0

所以是4+2+0 = 6
自己动手算一遍就好……
板凳
 楼主| 发表于 2013-12-8 01:41:27 来自手机 | 只看该作者
第二次迭代怎么算的?加左上方的值看不懂
地板
发表于 2013-12-8 02:13:49 | 只看该作者

  1. a[1][1] += a[0][0]
  2. a[1][2] += a[0][1]
  3. a[2][1] += a[1][0]
  4. a[2][2] += a[1][1]
复制代码
所以说是左上方的值,因为1,1在之前加过一次,所以2,2事实上加了两个值
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表