作业帮 > 综合 > 作业

用vb编写一段程序,产生4位随机数,但是这四位数各不相同,如何编写,麻烦详细点,我知道是用rnd()函数

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/29 11:53:31
用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 Su