当前位置: 代码迷 >> C语言 >> 初学者求助
  详细解决方案

初学者求助

热度:178   发布时间:2005-08-03 19:42:00.0
初学者求助
main( )
  {int i,n[ ]={0,0,0,0,0};
  for(i=1;i<=4;i++)
   {n[i]=n[i-1]?2+1;
   printf("%d ",n[i]);
   }
  }问程序运行后的输出结果是____。答案是“1 3 7 15”
我不明白怎么得的 那个2+1是起什么作用?那个循环不是将后一个元素向前赋值么那样每个元素应该相等才对啊 我不明白 求助啊!
----------------解决方案--------------------------------------------------------
见楼下~~~

[此贴子已经被作者于2005-8-3 22:22:39编辑过]



----------------解决方案--------------------------------------------------------
楼主不要把题抄错哦,还好这个比较简单
main( )
{int i,n[ ]={0,0,0,0,0};
for(i=1;i<=4;i++)
{n[i]=n[i-1]*2+1;
printf("%d ",n[i]);
}
}
----------------解决方案--------------------------------------------------------
当前元素(n[i])= 前一元素(n[i-1])* 2  + 1
如:7  15
     -> 15 = 7*2+1

这会有什么问题???
----------------解决方案--------------------------------------------------------
不好意思我从网上二级题直接复制来的没想到错了,献丑了
----------------解决方案--------------------------------------------------------
n[1] =0*2+1=1   
n[2]=1*2+1=3   
n[3]=3*2+1=7   
n[4]=7*2+1=15

基础功.
----------------解决方案--------------------------------------------------------
又是一个抄错题的。
----------------解决方案--------------------------------------------------------
  相关解决方案