论坛: 菜鸟乐园 标题: 求教一道计算机二级(VB)考试题 复制本贴地址    
作者: 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号