|
![]() | 作者: goudan1983 [goudan1983]
![]() |
登录 |
执行下面的程序段后,i的值为__ ,s的值为___ 。 s = 2 For i = 3.2 To 4.9 Step 0.8 s = s + 1 Next i 答案是i的值为1,s的值为2 小弟刚学VB~~往高手指教~~ |
地主 发表时间: 04-03-01 22:14 |
![]() | 回复: goudan1983 [goudan1983] ![]() |
登录 |
答案写错了~~~应该是i的值为5.6~~~~s的值为5~~~~不好意思~~~~ |
B1层 发表时间: 04-03-01 22:20 |
![]() | 回复: niulong [niulong] ![]() |
登录 |
应该是这样的: 第一次 s=2 i=3.2 第二次 s=3 i=4 第三次 s=4 i=4.8<4.9 所以循环继续 第四次 s=5 i=4.8+0.8=5.6>4.9 所以循环停止 故最后结果应该是s=5 i=5.6 关键是这个循环最后一次和倒数第二次是先计算后比较,所以产生此结果。不知道对不对,请大家指正。谢谢 ![]() ![]() ![]() |
B2层 发表时间: 04-03-01 23:20 |
![]() | 回复: lan [lan] ![]() |
登录 |
S好像应该=4吧 |
B3层 发表时间: 04-03-02 05:55 |
![]() | 回复: abctm [abctm] ![]() |
登录 |
S决定不是2 你可以把它加入VB中然后用控件显示出来,运行即可 |
B4层 发表时间: 04-03-02 06:57 |
![]() | 回复: niulong [niulong] ![]() |
登录 |
运算前应该是2,3,4,5。没有问题的 |
B5层 发表时间: 04-03-02 11:07 |
![]() | 回复: lida1818 [lida1818] ![]() |
登录 |
main() { int s; float i; s=2; for(i=3.2;i<4.9;i=i+.8) {s=s+1; } printf("S=%d,I=%f\n",s,i); } S=5,I=5.600000 晕,错了!是这样的。 [此贴被 烟雨平生(lida1818) 在 03月02日11时57分 编辑过] |
B6层 发表时间: 04-03-02 11:53 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号