永发信息网

VB怎么防止出现两个相同的随机数

答案:2  悬赏:70  手机版
解决时间 2021-04-08 05:58
  • 提问者网友:心牵心
  • 2021-04-07 23:52
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Dim sj3
Private Sub Command9_Click()
Dim sj1, sj2 As Integer
Dim i%
Static j As Integer
sj1 = Val(Text1.Text)
sj2 = Val(Text2.Text)
sj3 = Val(Text11.Text)
Randomize '初始化随机数
Picture1.Cls
For i = 1 To sj3 Step 1
Dim a(10) As Integer
a(i) = Int(Rnd * (Val(sj2) - Val(sj1)) + Val(sj1))
Picture1.Print a(i);
Sleep (1000)
Next i
End Sub
这里我要怎么防止出现两个相同的随机数
最佳答案
  • 五星知识达人网友:你哪知我潦倒为你
  • 2021-04-08 01:07
为了防止不采用相同的随机数,每当产生一个新的随机数,要与已经存在的随机数一一比较,如果相同就重新生成。
下面是一个产生10个互不相同的随机数的代码:
dim d(10) as integer
dim n as integer
n=0
Randomize

do while n<10
x = Rnd*100
for i=1 to n
if x = d(i) then exit for
next i
if i>n then
n=n+1
d(n) = x
end if
loop
全部回答
  • 1楼网友:怙棘
  • 2021-04-08 02:25
如楼上,使用randomize初始化后的随机数就没有规律了,当然还有极小的几率与之前的相同,判断一下,如果相同了,在生成一次,直到不同。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯