用vb编写一段程序,产生4位随机数,但是这四位数各不相同,如何编写,麻烦详细点,我知道是用rnd()函数
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/27 10:29:13
用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
另一就是直接生成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
用vb编写一段程序,产生4位随机数,但是这四位数各不相同,如何编写,麻烦详细点,我知道是用rnd()函数
怎么用VB编写点生成按钮产生1000个8位不重复的随机数呢?
用vb编写一个用于求随机数的程序,
如何编写一个产生随机数的程序
VB 产生1-400的随机数 用int(Rnd)
编写一个计算个人所得税的程序(用VB编写)
vhdl伪随机数求用vhdL语言编写一段产生1-7随机数字的程序
RND函数产生的随机数的区间是?(VB)
如何使VB中Rnd函数产生的随机数是在[0,1]内?
求用vb编写下面的程序
VB 编写程序,生成10个无重复数(即互不相等)的两位随机数
用1到9这九个数字,组成六位数的开方等于一个三位数.这九个数字各不相同的算法.编写一个程序试试吧!