我想随机产生多个数,怎样判断有没有相同的数?有相同的数又该怎么办?

解决方案 »

  1.   

    实际上你完全没有必要这样,下面提供一个方便的:dim i as long
    dim N() as longfor i = 1 to 10000  '自选间隔
       redim preserve N(i) as long   
       N(i) = i
    next i调用时再选:
       dim j as long
       j = 1 + 10000 * rnd()
       msgbox N(i)
    这样就不用再排序了!!!!!!!难道不是你需要吗?
      

  2.   

    上面msgbox N(i)
    改为msgbox N(j)
      

  3.   

    还真是看不懂 qingming81 的,如果我想产生 100 个 1 -0 的数字,我排序可以用你那方法实现吗?
      

  4.   

    仔细看了qingming81 方法的确不错,佩服!
      

  5.   

    Dim IntNum() As IntegerPrivate Sub Form_Load()
        ReDim IntNum(0)
    End SubPrivate Sub Command1_Click()
        On Error Resume Next
        Dim i As Integer, j As Integer
        i = UBound(IntNum)
        Dim IntNumber As Integer   '放随机数
        IntNumber = Int(Rnd(1) * 100)
        For j = 1 To i
            If IntNumber = IntNum(j) Then Exit For
        Next j
        If j > i Then
            ReDim Preserve IntNum(i + 1)
            IntNum(i + 1) = IntNumber
        End If
        For j = 1 To UBound(IntNum)
            Debug.Print IntNum(j)
        Next j
    End Sub
      

  6.   

    victorycyz(中海) :
    我没有随机生成数,而是自动赋了一个不重复的数组,然后随机调用。要保证不重复,肯定得用另外的方法!