产生20个随机数
DIM vRtn(1 to 20) as Integer
DIM i as Integerfor i=1 to 20
   vRtn(i)=Int(100* Rnd + 1)
next

解决方案 »

  1.   

    dim a(19) as integer
    Randomize Timer
    i=0
    c=false
    do while i<20
      b=int(rnd*100)+1
      for j=i to 0
       if a(i)=b then c=true
      next j
     if not c then 
       a(i)=b
       i=i+1
     end if
    loop
      

  2.   

    上现的少了一行
    dim a(19) as integer
    Randomize Timer
    i=0
    c=false
    do while i<20
      b=int(rnd*100)+1
      for j=i to 0
       if a(i)=b then c=true
      next j
     if not c then 
       a(i)=b
       i=i+1
       c=false'就这行‘//
     end if
    loop
      

  3.   

    同上
    在窗体上放置一个列表框和一个按钮
    Private Sub Command1_Click()
        List1.Clear
        Dim list(20) As Integer
        Dim i As Integer, k As Integer
        Dim TempNumber As Integer
        While k < 20
            TempNumber = Int(Rnd(Second(Now) + Timer) * 100)
            For i = 0 To k
                If TempNumber = list(i) Then Exit For
            Next
            If i = k + 1 Then
                list(k) = TempNumber
                k = k + 1
                List1.AddItem TempNumber
            End If
        Wend
    End Sub
      

  4.   

    dim a(20) as integer,i as integer,j as integer
    for i=1 to 20
      a(i)=int(rnd*100)+1
      for j=1 to i-1
        if a(i)=a(j) then
           i=i-1
        end if
      next j
    next i
      

  5.   

    'Private Sub Command1_Click()
    'Dim a() As Integer '声明数组变量 整齐的数组
    'Dim c() As Integer '随机的数组
    'Dim Max As Integer '最大的随机数
    'Dim i As Integer
    'Dim j As Integer
    'Dim k As Integer
    'Dim tt As Single
    '    Text1.Text = ""
    '    tt = Timer
    '    Max = Val(Text2.Text)
    '    ReDim a(Max)
    '    ReDim c(Max) 'ReDim Preserve c(i) As Integer
    '
    '    MousePointer = 13  '光标设为 等待
    '    For i = 1 To Max
    '        a(i) = i
    '    Next i
    '    '-----------------------------------------------↓
    '    Randomize Timer '产生随机数种子
    '    For i = 1 To Max
    '        '从 1 开始 范围一直在缩小
    '        k = Int(Rnd * (Max - i + 1)) + 1
    '        c(i) = a(k) '从a()中随机选一个
    '        For j = k To Max - i
    '            a(j) = a(j + 1) '把a()中的没有被选到的数重新排好
    '        Next j
    '    Next i
    '    '-----------------------------------------------↑
    '    Open "C:\不同随机数.txt" For Output As #1
    '        For i = 1 To Max
    '            Print #1, c(i); ",";        '写到文件中
    '        Next i
    '    Close #1
    '    '-----------------------------------------------↓
      

  6.   

    ''20,12,10,3,14,9,7,17,11,5,8,6,16,15,19,13,4,2,18,1,
    ''20,15,11,8,16,4,18,12,14,6,3,19,7,10,13,5,1,9,17,2,
    'Private Sub Command2_Click()
    'Dim a(1000) As Integer
    'Dim temp As Integer
    'Dim i As Integer
    'Dim j As Integer
    'Dim k As Integer
    ''Dim tt As Single
    ''    Text1.Text = ""
    ''    tt = Timer
    '    temp = Val(Text2.Text)
    '    Randomize Timer
    '    MousePointer = 13
    '    For i = 1 To temp '产生随机数
    '        a(i) = Int(Rnd * temp) + 1
    '        k = i
    '        For j = 1 To k - 1 '如果相同则这个数不要 重新选取
    '            If a(j) = a(k) Then i = i - 1
    '        Next j
    '    Next i
    '
    '    For i = 1 To temp
    '        Text1.Text = Text1.Text & a(i) & ","
    '    Next i
    ' '   Text3.Text = Timer - tt
    '    Text1.Text = Text1.Text & Chr(13) + Chr(10)
    '
    '    With Text1
    '        .SelStart = 0
    '        .SelLength = Len(.Text)
    '    End With
    '    MousePointer = 0
    'End Sub
      

  7.   

    Private Sub Command1_Click()'这个速度没有上面的第一个快('Dim a() As Integer '声明数组变量 整齐的数组)
    Dim a(50) As Integer
    Dim i As Integer
    Dim j As Integer
    Dim k As Integer
        Randomize Timer
        For i = 1 To 20 '产生随机数
            a(i) = Int(Rnd * 100) + 1
            k = i
            For j = 1 To k - 1 '如果相同则这个数不要 重新选取
                If a(j) = a(k) Then i = i - 1
            Next j
        Next i
        For i = 1 To 20
            Text1.Text = Text1.Text & a(i) & ","
        Next i
        Text1.Text = Text1.Text & Chr(13) + Chr(10)
    End Sub