vb随机数 1000 没次随机出现1个数,1000次内不出现重复的数
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/25 20:10:35
![vb随机数 1000 没次随机出现1个数,1000次内不出现重复的数](/uploads/image/z/5930510-14-0.jpg?t=vb%E9%9A%8F%E6%9C%BA%E6%95%B0+1000+%E6%B2%A1%E6%AC%A1%E9%9A%8F%E6%9C%BA%E5%87%BA%E7%8E%B01%E4%B8%AA%E6%95%B0%2C1000%E6%AC%A1%E5%86%85%E4%B8%8D%E5%87%BA%E7%8E%B0%E9%87%8D%E5%A4%8D%E7%9A%84%E6%95%B0)
vb随机数 1000 没次随机出现1个数,1000次内不出现重复的数
vb随机数 1000 没次随机出现1个数,1000次内不出现重复的数
vb随机数 1000 没次随机出现1个数,1000次内不出现重复的数
代码改过了.:
Dim CurrentNumber As Integer
Dim arr() As Integer
Dim finish,ifget As Boolean
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 test()
If finish Then
Exit Sub
End If
If Not ifget Then
arr = getAllRnd(10,10)
CurrentNumber = CurrentNumber + 1
Print arr(CurrentNumber)
ifget = True
Else
CurrentNumber = CurrentNumber + 1
Print arr(CurrentNumber)
If CurrentNumber = 10 Then
finish = True
End If
End If
End Sub
Private Sub Command1_Click()
Call test
End Sub