| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 317 人关注过本帖
标题:有个低级问题想请教
取消只看楼主 加入收藏
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
快速回复:有个低级问题想请教
数据加载中...
 
   



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

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