用 rnd*100   
再 读随机文件 文件记录数

解决方案 »

  1.   

    to xxlroad(土八路) :
    rnd好象生成的是伪随机数,您知道有生成真正的随机数的函数吗?
      

  2.   

    我有源程序,你要吗?[email protected]
      

  3.   

    发件人:[email protected] 收件人:[email protected][email protected][email protected][email protected][email protected][email protected][email protected] 抄送:(无)
    发送时间:2001-05-24 09:45:20 优先级:普通 
    标题:取不同随机数函数。 
    Sub upprnd (upp As Integer, nn As Integer, c() As Integer)
        
        
        Dim n As Integer
        Dim i As Integer
        Dim j As Integer
        
        
        ReDim a(upp) As Integer
        ReDim b(upp) As Integer
        'ReDim c(upp) As Integer
        
        For i = 1 To upp
            a(i) = i
        Next i
        Randomize
        For i = 1 To nn
    rndd:
            b(i) = Int(upp * Rnd + 1)
            DoEvents
            For n = 1 To upp
                If b(i) = a(n) Then
                    c(i) = a(n)
                    For j = n To upp - i
                        a(j) = a(j + 1)
                    Next j
                    For j = upp - i + 1 To upp
                        a(j) = 0
                    Next j
                    Exit For
                End If
                If b(i) = c(n) Then
                    GoTo rndd
                End If
            Next n
        Next i    'For i = 1 To upp
        '    Debug.Print "c", c(i)
        'Next iEnd Sub这上函数还可以简化的,可以把GOTO语句去了,你可以试试。
    记的给我加分。(新写一个贴子,我会去取分的)
    如果还有问题再和我联系吧!_____________________________________________
    数码产品新上市,酷 http://shopping.263.net/category21.htm
    精品小家电迎夏热卖 http://shopping.263.net/category23.htm
      

  4.   

    limengchen(lmc) 说的对
    电脑生成随机数是先取一个数作为初始值(例如现在的时间),然后通过函数迭代不断生成伪随机数,不可能生成真正的随机数。  Private Sub 随几数列_Click()
        Print Rnd
    End SubPrivate Sub 随几数种子_Click()
        Randomize Timer
        Print Rnd
    End SubPrivate Sub 不同随几数_Click()
    Randomize Timer
    Dim a(100), c(100)
    Print
    For i = 1 To 100
       b = Int(Rnd * 90 + 10)
       k = k + 1
       a(k) = b
         For m = 1 To k - 1
           If b = a(m) Then k = k - 1
         Next m
          If k >= 10 Then Exit For
    Next i
    For i = 1 To 10
      Print a(i);
    Next i
      Print
    'or
    For i = 1 To 100
     b = Val(Right(Rnd(1), 2))
     If b > 10 Then
       k = k + 1
       a(k) = b
     End If
    Next i
     For i = 1 To 99
      For j = i + 1 To 100
       If a(i) = a(j) Then a(i) = 0
      Next j
     Next i
    For i = 1 To 100
     If a(i) > 0 Then
       h = h + 1
       Print a(i);
      If h >= 10 Then Exit For
     End If
    Next i
    Print
    'or
    For i = 1 To 10
       c(i) = Int(Rnd * 90) + 10
       k = i
      For j = 1 To k - 1
        If c(j) = c(k) Then i = i - 1
      Next j
    Next i
    For i = 1 To 10
      Print c(i);
    Next i
    End Sub