小弟是新手,有个问题请教下大家
有个程序想实现一种随机数字的显示,即是每运行一次程序,文本框中都能随机显示一组不同的数字,数字只要求实现8位不重复,恳求各位提供个具体的源代码或者实现方法,帮忙了

[此贴子已经被作者于2007-5-17 20:57:12编辑过]
小弟是新手,有个问题请教下大家
有个程序想实现一种随机数字的显示,即是每运行一次程序,文本框中都能随机显示一组不同的数字,数字只要求实现8位不重复,恳求各位提供个具体的源代码或者实现方法,帮忙了
[此贴子已经被作者于2007-5-17 20:57:12编辑过]
随机产生8位不同的这个不是谁能保证的吧?
Randomize
text1.text=int(90000000*rnd+10000000)
用这个可以产生随机数要几个 就用循环for i=1 to 终值
next i
[此贴子已经被作者于2007-5-17 21:42:45编辑过]
用RND函数
产生[N,M]范围的随机数
fix(rnd*(m+1-n))+n
或int(rnd*(m+1-n))+n
上面都只实现了随机八位数,没有判断是否重复!
Private Sub Command1_Click()
Dim s As String
Dim a(0 To 9) As Boolean
For i = 0 To 9
a(i) = True
Next
Randomize
Do
s = Int(9 * Rnd + 1)
If a(s) = True Then
Text1.Text = Text1.Text & Trim(Str(s))
a(s) = False
i = Val(Len(Trim(Text1.Text)))
End If
Loop While i < 8
End Sub
next i
Private Sub Command1_Click()
Dim s As Integer
Dim s1 As String
Dim a(0 To 9) As Boolean
For i = 0 To 9
a(i) = True
Next
Randomize
Do
s = Int(9 * Rnd + 1)
If a(s) = True Then
s1 = s1 & Trim(Str(s))
a(s) = False
i = Val(Len(Trim(s1)))
End If
Loop While i < 8
Text1.Text = s1
End Sub
刚刚那个有点小BUG呵呵
如果是8位数,那么最高位为"0"的数还没有判断,你可以根据自己的要求 增加一行判断就行了!