Dim int1 As Integer Randomize ' Randomize语句,初始化随机数生成器。 For int1 = 1 To 20 str1 = Cstr(Rnd * 26) Next Text1.Text = str1
Private Sub Command1_Click() Dim Arr(5) As Integer Dim I As Integer Dim j As Integer Dim temp As Integer Dim answer As Boolean Text1.Text = Empty Randomize I = 1 Arr(0) = Int(21 * Rnd) Do While I < 5 answer = False temp = Int(21 * Rnd) For j = 0 To I - 1 If temp = Arr(j) Then answer = True Next j If answer = False Then Arr(I) = temp I = I + 1 End If Loop For I = 0 To 4 Text1.Text = Text1.Text & Arr(I) & "," Next IEnd Sub
Dim numtxt As String Dim i As Integer Dim o As Integer Dim txt(1 To 5) As Integer Dim num As Integer Dim oo As Integer oo = 20numtxt = "0102030405060708091011121314151617181920" For i = 1 To 5 o = Int(oo * Rnd) + 1 txt(i) = Val(Mid(numtxt, (o * 2 - 1), 2)) MsgBox txt(i) numtxt = Left(numtxt, (o - 1) * 2) & Right(numtxt, (oo - o) * 2) oo = oo - 1 Next i
'小仙妹的跳虱算法: Private Sub Command1_Click() Randomize Dim a(1 To 20) As Integer Dim temp As Integer Dim num As Integer For i = 1 To 20 a(i) = i Next For j = 1 To 5 temp = a(j) num = Int(20 * Rnd + 1) a(j) = a(num) a(num) = temp Next For k = 1 To 5 Debug.Print a(k) Next End Sub
dim a(1 to 5) as integer randomize timer for i=1 to 5 for_go1: a(i)=rnd*20+1 for f=1 to 5 if a(i)=a(f) then goto For_go1 next next
'这个没问题: Dim a(1 To 5) As Integer, i%, f% Randomize Timer For i = 1 To 5 loop1: a(i) = Int(5 * Rnd + 1) For f = 1 To i - 1 If a(i) = a(f) Then GoTo loop1 Next Next MsgBox a(1) & "," & a(2) & "," & a(3) & "," & a(4) & "," & a(5)
'写错了,应该是这个没问题: Dim a(1 To 5) As Integer, i%, f% Randomize Timer For i = 1 To 5 loop1: a(i) = Int(20 * Rnd + 1) For f = 1 To i - 1 If a(i) = a(f) Then GoTo loop1 Next Next MsgBox a(1) & "," & a(2) & "," & a(3) & "," & a(4) & "," & a(5)
或: Private Declare Function SendMessageFind Lib "USER32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As String) As Long Const LB_ERR = (-1) Const LB_FINDSTRING = &H18FPrivate Sub Command1_Click() Dim ret, a%List1.Clear '窗体上加一个list1 Randomize Timer Do a = Int(20 * Rnd + 1) ret = SendMessageFind(List1.hWnd, LB_FINDSTRING, 0, a) If ret = LB_ERR Then List1.AddItem a Loop While List1.ListCount <> 5 End Sub
Randomize ' Randomize语句,初始化随机数生成器。
For int1 = 1 To 20
str1 = Cstr(Rnd * 26)
Next
Text1.Text = str1
Dim Arr(5) As Integer
Dim I As Integer
Dim j As Integer
Dim temp As Integer
Dim answer As Boolean
Text1.Text = Empty
Randomize
I = 1
Arr(0) = Int(21 * Rnd)
Do While I < 5
answer = False
temp = Int(21 * Rnd)
For j = 0 To I - 1
If temp = Arr(j) Then answer = True
Next j
If answer = False Then
Arr(I) = temp
I = I + 1
End If
Loop
For I = 0 To 4
Text1.Text = Text1.Text & Arr(I) & ","
Next IEnd Sub
Dim i As Integer
Dim o As Integer
Dim txt(1 To 5) As Integer
Dim num As Integer
Dim oo As Integer
oo = 20numtxt = "0102030405060708091011121314151617181920"
For i = 1 To 5
o = Int(oo * Rnd) + 1
txt(i) = Val(Mid(numtxt, (o * 2 - 1), 2))
MsgBox txt(i)
numtxt = Left(numtxt, (o - 1) * 2) & Right(numtxt, (oo - o) * 2)
oo = oo - 1
Next i
Private Sub Command1_Click()
Randomize
Dim a(1 To 20) As Integer
Dim temp As Integer
Dim num As Integer
For i = 1 To 20
a(i) = i
Next
For j = 1 To 5
temp = a(j)
num = Int(20 * Rnd + 1)
a(j) = a(num)
a(num) = temp
Next
For k = 1 To 5
Debug.Print a(k)
Next
End Sub
randomize timer
for i=1 to 5
for_go1:
a(i)=rnd*20+1
for f=1 to 5
if a(i)=a(f) then goto For_go1
next
next
Dim a(1 To 5) As Integer, i%, f%
Randomize Timer
For i = 1 To 5
loop1:
a(i) = Int(5 * Rnd + 1)
For f = 1 To i - 1
If a(i) = a(f) Then GoTo loop1
Next
Next
MsgBox a(1) & "," & a(2) & "," & a(3) & "," & a(4) & "," & a(5)
Dim a(1 To 5) As Integer, i%, f%
Randomize Timer
For i = 1 To 5
loop1:
a(i) = Int(20 * Rnd + 1)
For f = 1 To i - 1
If a(i) = a(f) Then GoTo loop1
Next
Next
MsgBox a(1) & "," & a(2) & "," & a(3) & "," & a(4) & "," & a(5)
Private Declare Function SendMessageFind Lib "USER32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As String) As Long
Const LB_ERR = (-1)
Const LB_FINDSTRING = &H18FPrivate Sub Command1_Click()
Dim ret, a%List1.Clear '窗体上加一个list1
Randomize Timer
Do
a = Int(20 * Rnd + 1)
ret = SendMessageFind(List1.hWnd, LB_FINDSTRING, 0, a)
If ret = LB_ERR Then List1.AddItem a
Loop While List1.ListCount <> 5
End Sub