精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● VB和Basic>>〓〓....周边技巧....〓〓>>Re:如何提取不同的随机数

主题:Re:如何提取不同的随机数
发信人: 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


[关闭][返回]