利用VB产生随机数的一个例子:
Private Sub Command1_Click() Dim i As Integer '作为计数器 For i = 1 To 20 Randomize a(i) = (1000 - 100 + 1) * Rnd + 100 '产生随机数 Next i Dim str1 As String Dim m As Integer For m = 1 To 20 str1 = str1 + Str(a(m)) Next m Text1.Text = str1 End Sub Private Sub Command2_Click() Dim i As Integer For i = 1 To 20 If a(i) Mod 2 = 0 Then a(i) = 0 End If Next i '对产生的随机数进行排序 Dim j As Integer,k As Integer Dim temp As Integer For j = 1 To 20 For k = 1 To 20 - j If a(k) > a(k + 1) Then temp = a(k) a(k) = a(k + 1) a(k + 1) = temp End If Next k Next j Dim str2 As String For i = 1 To 20 If a(i) = 0 Then GoTo Next1 Else str2 = str2 + Str(a(i)) End If Next1: Next i Text2.Text = str2 End Sub
增加一个模块:Global a(1 To 20) As Integer ,全局变量
效果:
关于随机数:
1.首先是在VB下产生随机数,一般是以Value=int((upper- lower+1)*Rnd+lower),其中upper是上限,lower是下限,这样其实是伪随机数,既会产生相同的数据,再加上Randomize 语句既可以产生真正的随机数。然而这个方法并非是最好的,在调试的时候产生的随机数没有变化。
2.Randomize a(i) = (1000 - 100 + 1) * Rnd + 100 '产生随机数 使用这个方法即可产生真正的随机数,并且保证在调试的时候不产生一样的数据!
3.在C++里面则使用这个函数产生随机数:value=rand()%100;产生0到100的数据,不包括 100,这个也不会达到理想状态,我们需要增加一个种子,srand(time(0));这样才不会每次都产生一样的数据,(包含#include <ctime>头文件)。
4.关于time_t time(0):time_t被定义为长整型,它返回从1970年1月1日零时零分零秒到目前为止所经过的时间,单位为秒。
这些只是简单的随机数介绍!关于随机数的还有更多内容!那就Google吧!!! (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|