电刨价格:vbscript求救,生成随机数问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/08 10:25:24
要求:从1至40的数字中,调用20次随机函数,生成20个随机数字,而且这20个数字中不能有重复

请用下列函数返回:

' Result()数组用来存放生成的20个1~40的不重复随机数
Private Function ShowRnd(Result() As Integer)
Dim Temp(20) As Integer
Dim Result(20) As Integer
Dim P, Q As Integer
Dim IsOk As Boolean

For P = 1 To 20
Randomize
Temp(P) = Int(40 * Rnd + 1)
IsOk = False
Do While Not IsOk
For Q = 1 To P
If Temp(P) = Temp(Q - 1) Then
Temp(P) = Int(40 * Rnd + 1)
IsOk = False
Exit For
End If
IsOk = True
Next
Loop
Result(P) = Temp(P)
Next
End Function

Dim n(20)
Randomize Timer
Do
i = i + 1
j = 0
Do
n(i) = Int(Rnd * 40 + 1)
j = j + 1
Loop While n(i) = n(j) And j < i
Loop Until i = 20
MsgBox Join(n, " ")