求一个随机抽奖程序1:一次可以抽出多个不一样的随机数
2:第二次抽出的数不能和第一次的重复谢谢  急用

解决方案 »

  1.   

    给你思路自己写吧.
    (1)用Randomize函数初始化种子.
    (2)在一循环里用Rnd 抽出你要的号码,重复的丢弃,不重复的放入数组,直到抽出你所需要的所有号码
    (3)输出数组
      

  2.   

    Private Sub Command1_Click()
    Dim R As Integer
    Dim Arr()
    Dim i As Integer
    i = 0
    Randomize (Time)
    Do While i < 10
    R = Int(Rnd * 8999) + 1000 '限定奖号为四位数
    ReDim Preserve Arr(i)
     Arr(i) = R
    i = i + 1
    List1.AddItem R
    Loop
    End Sub
    '这只管抽奖,不能保证号不重复,还有几分钟就上班了,不写了
      

  3.   

    Private Sub Command1_Click()
    Dim R As Integer
    Dim Arr()
    Dim i As Integer
    List1.Clear
    Randomize (Time)
    R = Int(Rnd * 8999) + 1000 '限定奖号为四位数
    List1.AddItem R
    ReDim Preserve Arr(0)
    Arr(0) = R
    i = 1
    Do While i < 10
    R = Int(Rnd * 8999) + 1000
    b = Filter(Arr, R, True, vbTextCompare)
    If Join(b) = "" Then
    ReDim Preserve Arr(i)
    List1.AddItem R
    i = i + 1
    End If
     Loop
    End SubPrivate Sub Command2_Click()
    Dim a, b, c, d As IntegerDim Arr()
    Dim i As Integer
    List1.Clear
    Randomize (Time)
    a = Int(Rnd * 10)
    b = Int(Rnd * 10)
    c = Int(Rnd * 10)
    d = Int(Rnd * 10)
    R = Str(a) & Str(b) & Str(c) & Str(d)
    List1.AddItem R
    ReDim Preserve Arr(0)
    Arr(0) = R
    i = 1
    Do While i < 10
    a = Int(Rnd * 10)
    b = Int(Rnd * 10)
    c = Int(Rnd * 10)
    d = Int(Rnd * 10)
    R = Str(a) & Str(b) & Str(c) & Str(d)
    b = Filter(Arr, R, True, vbTextCompare)
    If Join(b) = "" Then
    ReDim Preserve Arr(i)
    List1.AddItem R
    i = i + 1
    End If
     Loop
    End Sub'以上两个都将重复的号码除了