为什么vb的随机数都是一样啊

2025-12-16 08:39:56
推荐回答(2个)
回答1:

出现这种现象的原因是程序没有用不同的随机数种子来初始化随机数发生器。
如果使用Rnd()函数前没有用不同的随机数种子来初始化随机数发生器,那么同一个程序,在多次运行时,所产生的随机数序列是相同的。
只要使用Randomize语句后,就能保证每次运行所产生的随机数序列是不同的了。以下的程序可以保证每次运行所得的随机数是不同的:
Private
Sub
Command1_Click()

Dim
x
As
Integer

Randomize

For
i
=
1
To
100

x
=
Rnd()
*
101

Print
Format(x,
"@@@@");

If
i
Mod
20
=
0
Then
Print

Next
i

Print
End
Sub

回答2:

为了能产生真正意义上的随机数,就需要在使用Rnd之前,执行一次Randomize命令。
Randomize称为随机种子命令,它实际上是用计算机内部时钟的毫秒数当种子,因为各台电脑里时钟毫秒数相同的可能性很小,并且每台电脑的时钟都是在不停的变化,所以执行过Randomize之后,产生的随机数就不相同了。