VB题目!!急求!生成10个10-90之间的不同的随机数,保存到数组中.

2025-02-26 16:55:15
推荐回答(1个)
回答1:

Private Sub form_load()
    Randomize
    Show
    Dim a(1 To 10) As Integer, g(1 To 9) As Integer
    a(1) = Int(10 + 90 * Rnd)
    k = 1 ' k在这里用于计数,共取到了k个随机数
    Do While k < 10    '做以下循环直到k=10,也就是要取到10个随机数
        x = Int(10 + 90 * Rnd)
        f = 0  '假设x没有重复,f用于标志x是否与以前的随机数相重复,0代表不重复,1代表重复
        'If x = a(k) Then f = 1  这句达不到判定是否有重复的数据目的,修改如下
        For i = 1 To k
            If x = a(i) Then f = 1: Exit For  '如果x与先前任何一个随机数相同,则设置f=1
        Next i
        If f = 0 Then '如果x与以前的随机数都不同,则增加一个随机数
            k = k + 1
            a(k) = x
        End If
    Loop
    For j = 1 To 10
        Print a(j);
        If j Mod 10 = 0 Then Print   '每输出10个数据就换行
    Next j
    
End Sub

求采纳