vb6.0 生成不重复的随机数(急!)

1、有a,b,c,d 四个变量,各生成 0~9的随机数,而且不重复。
像这样:
a=0 b=8 c=4 d=1 0 8 4 1
a,b,c,d 数不重复

第1个回答  2012-07-18

用不着象楼上那么复杂的程序,看我的:

Private Sub Command1_Click()

Dim Aa(10) As Integer

Cls

Randomize

For I = 1 To 10

    A = Int(Rnd * 10)

    Print A

    Aa(I) = A

Next I

End Sub

再看运行结果,就知道这个程序是对的,我运行了好多遍,结果都是0-9间。只是我用的是10次,如果想产生100次,也只要改一点程序。

如果你只想4次,你会知道改吧?最后再把数组分别赋给a,b,c,d就可以了。

 

本回答被网友采纳
第2个回答  推荐于2018-03-26
a=Int(10*Rnd)
Do
b=Int(10*Rnd)
Loop Until b<>a
Do
c=Int(10*Rnd)
Loop Until c<>b And c<>a
Do
d=Int(10*Rnd)
Loop Until d<>b And d<>a And d<>c本回答被提问者采纳
第3个回答  2012-07-18
For i = 0 To 60
Do
n = Int(Rnd * 9)

Loop While InStr(" " & s, " " & n & " ") > 0
s = s & n & " "
Next
a = Split(Trim(s), " ")
这就是产生0~9的不重复随机数
第4个回答  2012-07-18
Private Sub Command1_Click()
Randomize
Dim t(1 To 4) As Integer
For i = 1 To 4
ReNumber:
t(i) = Int(Rnd * 10)
For j = 1 To 4
If i <> j And t(i) = t(j) Then GoTo ReNumber:
Next
Next
a = t(1)
b = t(2)
c = t(3)
d = t(4)
Print a, b, c, d
End Sub
相似回答