前两节课 都在练习数字排序问题 但是枯燥乏味的ctrl+c ctrl+v 实在是将我们的耐心和激情磨灭了。因此必须要将问题大大简化。以下就是简化后的代码
Option Base 1
Private Sub Command1_Click()
Cls
Me.Font.Size = 25
Size = Int(Val(Me.Text1.Text))
Dim A() As Integer
Dim swap As Integer
Dim n As Integer
ReDim A(Size)
n = LBound(A)
While n <= UBound(A)
A(n) = Int(Rnd * 1000)
n = n + 1
Wend
m = LBound(A)
While m <= UBound(A) - 1
n = LBound(A)
While n <= UBound(A) - m
If A(n) < A(n + 1) Then
swap = A(n)
A(n) = A(n + 1)
A(n + 1) = swap
End If
n = n + 1
Wend
m = m + 1
Wend
n = LBound(A)
While n <= UBound(A)
Print A(n)
n = n + 1
Wend
End Sub
引入 LBound(最小)和uBound(最大) 解决问题。而且还增加一个text功能 使得排序的数字个数改变更加方便。