我们在生成100以内的随机数时,直接用Int(Rnd() * 100 + 1),但实际应用中发现,老是会生成重复的数据,所以,我们就考虑是否可以让生成的一组数据不出现重复?
原理很简单,比如我们要生成10个随机数,生成一个随机数,我们就与已生成的随机去比较,看是否有重复,如果重复了,就返回重复生成一次,直到不重复。
代码:
Dim a(9) As Integer, i As Integer, j As Integer
Private Sub Command85_Click()
Dim strA As String
strA = ""
For i = 0 To 9
a(i) = Int(Rnd() * 100 + 1)
For j = 0 To i - 1
If a(i) = a(j) Then
i = i - 1
Exit For
End If
Next j
Next i
For j = 0 To 9
strA = strA & a(j) & ";"
Next j
Me.Label84.Caption = strA
End Sub
示例下载:
在“了解更多”里下载。
演示截图: