| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2622 人关注过本帖
标题:for 循环的,两道较简单的VB试题
只看楼主 加入收藏
petpal
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-4-27
收藏
 问题点数:0 回复次数:24 
for 循环的,两道较简单的VB试题


两道VB试题,总觉得有问题。请大家帮忙分析一下。
我完整的把代码写下来了。

1.

private sub command1_click()
dim i as integer ,n as integer
for i = 0 to 50
i = i +3
n=n+1
if i >10 then exit for
next i

text1.text=str(n)

答案是 3
可是我的分析结果要么是4,要么是9

比如: i=0 时 i =0+3=3,n=0 +1=1
i=1 时 i=1+3 ,n=1+1=2
……
结果是9

另外 i=0 时 i=0+3=3,n=0+1=1
i=1 时 i=3+3=6,n=1+1=2

……
结果是4
可是我上机运行代码的结果确实是3,郁闷了~~~~~

====================================================
2.
private sub command1_click()
n=10
for k=n to 1 step -1
x=sqr(k)
x=x-2
next k
print x-2

end sub

运行结果是-3,可是答案却是-2,我的分析也是-3,跟运行结果一致。


[此贴子已经被作者于2007-9-7 22:06:38编辑过]

搜索更多相关主题的帖子: 试题 
2007-09-06 22:27
simpson
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:863
专家分:17
注 册:2006-11-16
收藏
得分:0 
(1) 你光考虑 i=i+3 你忘了 next

(2) x与最后一次执行循环时的K 有关,x= sqr(0) = 0
x= x - 2 = 0 - 2 = -2

print x - 2
即 print - 2 - 2
即 print -4

全国最大的 Java专业电子书免费分享[url]http:///in.asp?id=xrmao[/url]
2007-09-06 22:40
心中有剑
Rank: 2
等 级:新手上路
威 望:5
帖 子:611
专家分:0
注 册:2007-5-18
收藏
得分:0 
如果不知道 最好 自己学会单步执行,f8然后 一个行一个行的行 不行加上监视!

2007-09-07 08:52
那边有朵蘑菇云
Rank: 1
来 自:很……那啥的一个地方
等 级:新手上路
威 望:1
帖 子:390
专家分:0
注 册:2007-9-3
收藏
得分:0 
以下是引用simpson在2007-9-6 22:40:04的发言:

(2) x与最后一次执行循环时的K 有关,x= sqr(0) = 0
x= x - 2 = 0 - 2 = -2

print x - 2
即 print - 2 - 2
即 print -4


第一个问题就是 next i 了 完了

[此贴子已经被作者于2007-9-7 11:46:51编辑过]


身不残 志更不坚
2007-09-07 11:45
petpal
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-4-27
收藏
得分:0 
回复:(petpal)for 循环的,两道较简单的VB试题

大家重点看看第一题吧
第二题我明白了
谢谢大家的关注!
2007-09-07 22:10
petpal
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-4-27
收藏
得分:0 
回复:(那边有朵蘑菇云)以下是引用simpson在2007-9-...
不太明白你说的
呵呵,可以详细解释一下否?
2007-09-07 22:11
缘吇弹
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:43
帖 子:3038
专家分:27
注 册:2007-7-2
收藏
得分:0 
第一题循环只运行了4次.

当I=0时,运行:I=0+3 N=0+1 运行后 I=3 N=1
当I=3时,运行:I=3+3 N=1+1 运行后 I=6 N=2
当I=6时,运行:I=6+3 N=2+1 运行后 I=9 N=3
当I=9时,运行:I=9+3 N=3+1 运行后 I=12 N=4

Repeat  Life=Study;Until (death);
2007-09-08 16:03
缘吇弹
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:43
帖 子:3038
专家分:27
注 册:2007-7-2
收藏
得分:0 

要是运行等于3的话,那只有一种可能了.你抄错代码了:
dim i as integer ,n as integer
for i = 0 to 50
i = i +3
if i >10 then exit for
n=n+1
'if i >10 then exit for
next i

text1.text=str(n)

例如这样,结果就是3.


Repeat  Life=Study;Until (death);
2007-09-08 16:06
心中有剑
Rank: 2
等 级:新手上路
威 望:5
帖 子:611
专家分:0
注 册:2007-5-18
收藏
得分:0 

其实 一个好的程序员,不是学会怎么去做某个东西,  而是要学会解决某类问题的方法,调试!

希望你自己调试,自己总结属于自己的东西,那样才是最好的, 最快的进步方法,

...晕晕  今天喝多了


2007-09-08 17:26
缘吇弹
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:43
帖 子:3038
专家分:27
注 册:2007-7-2
收藏
得分:0 
白天也喝酒?

Repeat  Life=Study;Until (death);
2007-09-08 17:32
快速回复:for 循环的,两道较简单的VB试题
数据加载中...
 
   



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

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