这段程序什么意思啊。

我知道上半部分是在1-30之间产生7个不重复的随机数,下面那部分是将这七个数排序,但从dimj%之后我不知道什么意思,求教.PrivateSubCommand3_Clic... 我知道上半部分是在1-30之间产生7个不重复的随机数,下面那部分是将这七个数排序,但从dim j%之后我不知道什么意思,求教.
Private Sub Command3_Click()
Dim myarray(1 To 7) As Integer
myarray(1) = Int(Rnd() * 30) + 1
Dim i%, n%
For i = 2 To 7
myarray(i) = Int(Rnd() * 30) + 1
For n = 1 To i - 1
Do While myarray(i) = myarray(n)
myarray(i) = Int(Rnd() * 30) + 1
n = 1
Loop
Next n
Next i
For i = 1 To 7
Print myarray(i);
Next i
Print

Dim j%
For i = 1 To 30
For j = 1 To 7
If i = myarray(j) Then
Print i;
End If
Next j
Next i
Print
End Sub
展开
 我来答
cx1982420
2013-05-31 · TA获得超过1358个赞
知道小有建树答主
回答量:741
采纳率:100%
帮助的人:333万
展开全部
Dim j%
For i = 1 To 30
For j = 1 To 7
If i = myarray(j) Then
Print i;
End If
Next j
Next i
Print
这段代码看起来就是把那7个随机数由小到大的打出来
追问
是的,就是从小到大排列,拜托给我解释下吧。
追答
Dim j%
For i = 1 To 30 '这里是一个从1到30的循环,即由小到大
For j = 1 To 7 '这是随机出来的数组值循环,数字大小不定
If i = myarray(j) Then '如果第一个循环中的数字等于随机数组中的数字的话,下面就会打印出来。打个比方,如果这时i=1,然后程序会拿这个1与数组中的所有值循环比较,如果数组中也有一个相应的数,则打印。由于i是从小到大的,估这里打出来的值也只会从小到大
Print i;
End If
Next j
Next i
Print
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式