VB程序设计 急用 在线等

VB程序设计:随机产生20个100以内(包含100)的整数放入一个一维数组中,按从大到小的顺序输出这些数。

'下面代??生不重?的随机数
Private Sub Command1_Click()
Dim a(1 To 20) As Integer, tmp As Integer
Dim i As Integer
Dim max As Integer
Dim maxCount As Integer
Dim s
Randomize Timer
For i = 1 To 20
a(i) = Rnd * 99 + 1
Debug.Print a(i)
Next
max = a(1)
maxCount = 1
For i = 1 To 20
    For j = i + 1 To 20
        If a(i) < a(j) Then
            tmp = a(i)
            a(i) = a(j)
            a(j) = tmp
        End If
    Next
Next
Debug.Print "*********"
For j = LBound(a) To UBound(a)
Debug.Print a(j)
Next
End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-25
Private Sub Command1_Click()
Dim a(1 To 10) As Integer
For n = 1 To 10
Do
x = Int(50 * Rnd + 1)
j = True
For i = 1 To n - 1
If x = a(i) Then j = False: Exit For
Next i
Loop Until j
a(n) = x
Next
'从小到大排序
For i = 1 To 9
For j = i + 1 To 10
If a(i) > a(j) Then
temp = a(j)
a(j) = a(i)
a(i) = temp
End If
Next j
Next i
For i = 1 To 10
s = s & " " & a(i)
Next
MsgBox "从小到大的顺序为:" & vbCrLf & s
End Sub
第2个回答  2013-06-25
Private Sub Command1_Click()
Dim i As Integer, j As Integer, k As Integer, a(19) As Integer
Randomize Timer
For i = 0 To 19
a(i) = Int(Rnd * 101)
Next
For i = 0 To 19
For j = i To 19
If a(i) < a(j) Then k = a(i): a(i) = a(j): a(j) = k
Next
Next
For i = 0 To 19
Print a(i);
Next

End Sub