关于随机数的产生!!

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值