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吧!!!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。