Function
getRnd(i
As
Integer
)
As
Integer
'
取1-i之间的随机数一个
Randomize
getRnd = Int ( Rnd () * i + 1 )
End Function
Function getAllRnd(Counter As Integer , jishu As Integer ) As Integer () ' 取Counter个1-jishu之间的随机数
If (Counter > jishu) Then
MsgBox " 数字个数不能大于基数 "
Exit Function
End If
ReDim arr(Counter) As Integer
i = 0
Do While i < Counter
arr(i + 1 ) = getRnd(jishu)
found = False
For x = 1 To i
If arr(x) = arr(i + 1 ) Then
found = True
Exit For
End If
Next
If Not found Then
i = i + 1
End If
Loop
getAllRnd = arr
End Function
Sub OrderNumber(arr) ' 从小到大排序
For i = 1 To UBound (arr)
For j = i + 1 To UBound (arr)
If arr(i) > arr(j) Then
x = arr(i)
arr(i) = arr(j)
arr(j) = x
End If
Next
Next
End Sub
Private Sub Command1_Click()
arr = getAllRnd( 5 , 10 ) ' 取5个1-10之间的随机数
OrderNumber arr ' 排序
For i = 1 To UBound (arr)
Print arr(i)
Next
End Sub
Randomize
getRnd = Int ( Rnd () * i + 1 )
End Function
Function getAllRnd(Counter As Integer , jishu As Integer ) As Integer () ' 取Counter个1-jishu之间的随机数
If (Counter > jishu) Then
MsgBox " 数字个数不能大于基数 "
Exit Function
End If
ReDim arr(Counter) As Integer
i = 0
Do While i < Counter
arr(i + 1 ) = getRnd(jishu)
found = False
For x = 1 To i
If arr(x) = arr(i + 1 ) Then
found = True
Exit For
End If
Next
If Not found Then
i = i + 1
End If
Loop
getAllRnd = arr
End Function
Sub OrderNumber(arr) ' 从小到大排序
For i = 1 To UBound (arr)
For j = i + 1 To UBound (arr)
If arr(i) > arr(j) Then
x = arr(i)
arr(i) = arr(j)
arr(j) = x
End If
Next
Next
End Sub
Private Sub Command1_Click()
arr = getAllRnd( 5 , 10 ) ' 取5个1-10之间的随机数
OrderNumber arr ' 排序
For i = 1 To UBound (arr)
Print arr(i)
Next
End Sub