题目来源:大工慕课 链接
原题:Visual Basic程序设计教程(第二版)龚沛曾主编,高等教育出版社 实验5-4
作者:Caleb Sung
题目要求
随机产生10个2位数,按从大到小递减的顺序排列,并显示排序结果。要求使用子过程。
参考代码
不使用子过程的版本
Private Sub Form_Click()
Dim a(1 To 10) As Integer
For i = 1 To 10
a(i) = Int(Rnd * 90 + 10)
Next i
For i = 1 To 9
For j = 9 To i Step -1
If a(j) < a(j + 1) Then
t = a(j)
a(j) = a(j + 1)
a(j + 1) = t
End If
Next j
Next i
For i = 1 To 10
Print a(i);
If i Mod 10 = 0 Then Print
Next i
End Sub
使用子过程的版本
Private Sub Form_Click()
Dim a(1 To 10) As Integer
For i = 1 To 10
a(i) = Int(Rnd * 90 + 10)
Next i
Call sort(a)
For i = 1 To 10
Print a(i);
If i Mod 10 = 0 Then Print
Next i
End Sub
Sub sort(a%())
Dim i%, j%, t%
For i = 1 To 9
For j = 9 To i Step -1
If a(j) < a(j + 1) Then
t = a(j)
a(j) = a(j + 1)
a(j + 1) = t
End If
Next j
Next i
End Sub