关于随机数的产生!!

利用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吧!!!

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...