用vb编写一段程序,产生4位随机数,但是这四位数各不相同,如何编写,麻烦详细点,我知道是用rnd()函数
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/14 10:52:35
![用vb编写一段程序,产生4位随机数,但是这四位数各不相同,如何编写,麻烦详细点,我知道是用rnd()函数](/uploads/image/z/7199544-48-4.jpg?t=%E7%94%A8vb%E7%BC%96%E5%86%99%E4%B8%80%E6%AE%B5%E7%A8%8B%E5%BA%8F%2C%E4%BA%A7%E7%94%9F4%E4%BD%8D%E9%9A%8F%E6%9C%BA%E6%95%B0%2C%E4%BD%86%E6%98%AF%E8%BF%99%E5%9B%9B%E4%BD%8D%E6%95%B0%E5%90%84%E4%B8%8D%E7%9B%B8%E5%90%8C%2C%E5%A6%82%E4%BD%95%E7%BC%96%E5%86%99%2C%E9%BA%BB%E7%83%A6%E8%AF%A6%E7%BB%86%E7%82%B9%2C%E6%88%91%E7%9F%A5%E9%81%93%E6%98%AF%E7%94%A8rnd%EF%BC%88%EF%BC%89%E5%87%BD%E6%95%B0)
用vb编写一段程序,产生4位随机数,但是这四位数各不相同,如何编写,麻烦详细点,我知道是用rnd()函数
用vb编写一段程序,产生4位随机数,但是这四位数各不相同,如何编写,麻烦详细点,我知道是用rnd()函数
用vb编写一段程序,产生4位随机数,但是这四位数各不相同,如何编写,麻烦详细点,我知道是用rnd()函数
有两种办法,一是4位单独生成,然后组成4位数,生成一位就判断一下,如果重复就重新生成.
另一就是直接生成4位数,判断各位有没有重复,如果有就重新生成一个,如果不重复就退出.
这是按第一情况来生成的.
Private Sub Command1_Click()
Randomize
Dim a(1 To 4)
a(1) = Int(Rnd() * 9) + 1
s = a(1)
j = 2
Do While True
b = Int(Rnd() * 10)
If Not (b = a(1) Or b = a(2) Or b = a(3) Or b = a(4)) Then
a(j) = b
s = s & a(j)
j = j + 1
End If
If j >= 5 Then Exit Do
Loop
MsgBox a(1) * 1000 + a(2) * 100 + a(3) * 10 + a(4)
End Sub
这是按第二种情况来生成的:
Private Sub Command2_Click()
Randomize
Dim a(1 To 4)
Do While True
b = Int(Rnd() * 9000) + 1000
a(1) = Left(b,1)
a(2) = Mid(b,2,1)
a(3) = Mid(b,3,1)
a(4) = Right(b,1)
If Not (a(1) = a(2) Or a(1) = a(3) Or a(1) = a(4) Or a(2) = a(3) Or a(2) = a(4) Or a(3) = a(4)) Then Exit Do
Loop
Print b
End Sub