VB的程序问题

例3-9找出一个在1~1000中被7除余5、被5除余3、被3除余2的数(Exitfor)PrivateSubForm_Click()DimiAsIntegerFori=1... 例3-9 找出一个在1~1000中被7除余5、被5除余3、被3除余2的数(Exit for)
Private Sub Form_Click()
Dim i As Integer
For i =1 To 1000
If i mod 7=5 and i Mod 5 = 3 and i Mod 3 = 2 _ Then Exit For '返回满足的第一个数
Next i
If i <= 1000 Then
Print i
End Sub
1、什么叫返回第一个数,不是找到就好了吗,有很多个的话为什么要返回第一个数,随便从符合条件的挑一个不就行了吗?2、Exit for 不是强制退出的意思吗,为什么可以用在这里?这样不会退出吗?3、If i <= 1000 Then Print i,不是本身就说了 for i =1 to 1000吗,这样i不就已经规定在1000里了吗,为什么最后这句还要说?
展开
 我来答
百用度户007
2014-05-07
知道答主
回答量:9
采纳率:0%
帮助的人:5.4万
展开全部
1、为什么返回第一个数:题目中已说明“找出一个在1~1000中被7除余5、被5除余3、被3除余2的数”,重点是“一个”,所以上述程序中返回了一个,且是第一个,当然你也可以通过修改程序让其返回第二个或第N个;
2、为什么用EXIT FOR:因为已经找到了满足题目的数字,所以没必要再继续FOR循环,直接退出就可以了;
3、为什么要加IF I<=1000 :因为假如1000中没有满足题目的数字,在结束FOR循环时,i 的值就等于1001,按上述程序的意思就不需要输出,所以加判断语句。

楼主,明白了吗?
追问
前两个明白了,第三个,为什么会取到1001啊?
追答
FOR 循环的循环条件是1<= i <= 1000,即 i 会从1遍历到1000,当i = 1001时,FOR 循环终止。所以i 这时的值是1001喽。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式