标题:有个低级问题想请教
取消只看楼主
liujunzhi911
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-8-15
结帖率:100%
已结贴  问题点数:10 回复次数:2 
有个低级问题想请教
Private Sub Form_Click()
Dim a(10) As Integer, i As Integer
Randomize
i = 0
Do
num = Int(Rnd * 90) + 10
For j = 1 To i
If num = a(j) Then
Exit For
End If
Next j
If j > i Then
i = i + 1
a(i) = num
End If
Loop While i < 10
For i = 1 To 9
For j = i + 1 To 9
If a(i) > a(j) Then temp = a(i): a(i) = a(j): a(j) = temp
Next j
Next i
For i = 1 To 10
Print a(i)
Next i
End Sub
这是个随机数生成并排序的代码,然而有一句怎么读都读不懂
Do
num = Int(Rnd * 90) + 10
For j = 1 To i
If num = a(j) Then
Exit For
End If
Next j
If j > i Then
i = i + 1
a(i) = num
End If
Loop While i < 10
这句中按第一次运行可以得出a(1)的值,而当第二次循环时发现 if J>i Then后面的运行是不可行的,因此应该不能进行i的递增,也就应该成为死循环了。但在VB中运行时却可以进行循环,这个问题请各位大神指点下。本人新手多多指教
 
2013-09-26 13:55
liujunzhi911
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-8-15
得分:0 
回复 2楼 风吹过b
正常退出for时不是初值等于终值的吗,为什么j=i+1求指点下
2013-09-26 14:56
liujunzhi911
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-8-15
得分:0 
回复 2楼 风吹过b
哦好像明白了,判段for循环后步长还加了1然后判断正常退出for,我忘了谢谢了
2013-09-26 15:01



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-421121-1-1.html




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

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