小明编写了一个VB程序对数组a(1 to 20)进行处理:首先随机生成20个两位正整数,然后对所有“是3的倍数”的数字进行升序排序,其余的数原位不动。
在列表框List1中显示整理前的数据,单击“排序”按钮,整理结果显示在列表框List2中,程序运行界面如图所示。
Dim a(20) As Integer Private Sub Form_Load() Randomize '对随机函数进行随机初始化 For i = 1 To 20 a(i) = ① List1.AddItem Str(a(i)) Next i End Sub Private Sub Cd1_Click() Dim Done As Boolean Dim i As Integer, j As Integer, k As Integer, t As Integer For i = 20 To 1 Step -1 If a(i) Mod 3 = 0 Then Exit For 'Exit For表示跳出For循环 Next i If i = 0 Then Label1.Caption = "没有满足条件的数" Else ‘对能被3整除的数进行排序 ② Do While Not Done j = i Done = True k = j - 1 Do While k >= 1 If a(k) Mod 3 = 0 Then If a(k) > a(j) Then t = a(k): a(k) = a(j): a(j) = t: Done = False ③ End If k = k - 1 Loop Loop End If For i = 1 To 20 List2.AddItem Str(a(i)) Next i End Sub
(1)
“排序”按钮的对象名是(单选,填字母:A .Click/B .Cd1/ C .Command1)。
(2)
请在划线处填入合适的代码。
① ② ③
答案: 【1】B
【1】Int(Rnd * 90) + 10【2】Done = False【3】j = k