发信人: nyxi(南野秀一)
整理人: gzwsh(2002-11-05 22:59:39), 站内信件
|
下面的代码可以实现你的功能,100个以内无重复随机数都可以勉强的用。
超过一百个就要用更快的洗牌算法来的到了。
Private Sub Command1_Click()
Dim RndNum(4) As Integer
Dim TmpNum As Integer
Dim IsNext As Boolean
Dim I, J As Integer
For J = 0 To UBound(RndNum)
IsNext = False
Do While Not IsNext
TmpNum = Random(1, 100)
For I = 0 To UBound(RndNum)
'Debug.Print RndNum(I)
If TmpNum = RndNum(I) Then
IsNext = False
Exit For
End If
IsNext = True
Next
DoEvents
Loop
DoEvents
RndNum(J) = TmpNum
Next
I = 0
Form1.Cls
For I = 0 To 4
Form1.Print RndNum(I)
Next
End Sub
Private Function Random(min As Integer, max As Integer) As Integer
On Error Resume Next
Randomize
Random = Int((max - min + 1) * Rnd + min)
End Function
|
|