让随机数不重复有两个办法:
办法一、把范围内的数顺序填入后,再随机打乱;
办法二、每个随机数与前面的随机数比较,有相同的就放弃。
例如:将 1 ~ 9 随机打乱以后,存入变量中。
Dim S(1 To 9) As Integer
Dim a%, b%, c%, d%, e%
Dim f%,g%, h%, i%, j%,k%, t%
For j = 1 To 9 : S(j) = j : Next j
Randomize
For j = 1 To 9
k = Int(Rnd * 9 + 1)
t = S(j) : S(j) = S(k) : S(k) = t
Next j
a = S(1) : b = S(2) : c = S(3)
d = S(4) : e = S(5) : f = S(6)
g = S(7) : h = S(8) : i = S(9)
办法一、把范围内的数顺序填入后,再随机打乱;
办法二、每个随机数与前面的随机数比较,有相同的就放弃。
例如:将 1 ~ 9 随机打乱以后,存入变量中。
Dim S(1 To 9) As Integer
Dim a%, b%, c%, d%, e%
Dim f%,g%, h%, i%, j%,k%, t%
For j = 1 To 9 : S(j) = j : Next j
Randomize
For j = 1 To 9
k = Int(Rnd * 9 + 1)
t = S(j) : S(j) = S(k) : S(k) = t
Next j
a = S(1) : b = S(2) : c = S(3)
d = S(4) : e = S(5) : f = S(6)
g = S(7) : h = S(8) : i = S(9)