通信人家园

标题: 生成一组不重复的随机数  [查看完整版帖子] [打印本页]

时间:  2003-6-10 09:40
作者: 如火骄阳     标题: 生成一组不重复的随机数

我想生成一组不重复的随机数,写了如下的代码。但总是得不到我想要的结果,请大家一起来看看这段代码。
Sub maro()
Dim arry(1 To 5) As Integer
Dim temp, i, number As Integer
For i = 1 To 5
    arry(i) = Int(5 * Rnd + 1)
    If i > 1 Then
        For temp = 1 To i - 1
            While arry(i) = arry(temp)
                arry(i) = Int(5 * Rnd + 1)
            Wend
        Next temp
    End If
Next i

For i = 1 To 5
    Worksheets("sheet1").Range("b2").Cells(i, 1).Value = arry(i)
Next
End Sub
时间:  2003-6-10 20:45
作者: evileboy

Sub maro()
Dim arry(1 To 5) As Integer
Dim temp, i, number As Integer
For i = 1 To 5
arry(i) = Int(5 * Rnd + 1)
If i > 1 Then
For temp = 1 To i - 1
if arry(i) = arry(temp) then arry(i) = Int(5 * Rnd + 1)
Next temp
End If
Next i

For i = 1 To 5
Worksheets("sheet1").Range("b2").Cells(i, 1).Value = arry(i)
Next
End Sub


时间:  2003-6-11 13:15
作者: 如火骄阳

if arry(i) = arry(temp) then arry(i) = Int(5 * Rnd + 1)
arry(i)的随机数会再一次与上面的相同,不能这么用。
必须有While循环。




通信人家园 (https://www.txrjy.com/) Powered by C114