小章想将a数组中n个元素排列成合唱队列形态,具体方法如下:
①如果n是奇数,选出所有数据中最大元素,将其放在a数组正中间位置。
②从剩下待处理数据中选出最大的两个元素,同时将较大元素放在已处理数据段的右侧,较小元素放在已处理数据段的左侧。
③反复执行操作②,直到所有数据处理完毕。按上述要求,小章编写一个 VB 程序,功能如下:
在文本框 Text1 中输入 n,单击“生成”按钮 Command1,并在文本框 List1 中显示排序前数据;单击“排序”按钮 Command2,在列表框 List2 中输出处理后的结果。程序运行界面如下图所示。

(1)下列哪个选项,可以将窗体Form1标题改为:“生成合唱队列”_____(单选,填字母:A.Form.Caption="生成合唱队列"/ B.Label1.Caption ="生成合唱队列"/ C.Form1.Caption="生成合唱队列")
(2)实现上述功能的VB程序如下,请在划线处①②③填入合适代码。
①________________
②________________
③________________
(3)程序加框处代码有错,请改正。
改正:__________________
Dim a(1 To 100) As Integer
Dim n As Integer
Private Sub Command1_Click()
'在文本框 Text1 中输入 n(n<=100)
'排序前数据存储在数组 a 中,并在文本框 List1 中显示
'代码略
End Sub
Private Sub Command2_Click()
Dim i As Integer, j As Integer, t As Integer
Dim pMax1 As Integer, pMax2 As Integer pMax1 = n \ 2 + 1: pMax2 = n \ 2
If
① Then
For i = 1 To n
If a(i) > a(pMax1) Then t = a(pMax1): a(pMax1) = a(i): a(i) = t
Next i
pMax1 = pMax1 + 1
End If
For i = 1 To n \ 2
If
② Then t = a(pMax1): a(pMax1) = a(pMax2): a(pMax2) = t j = pMax1 Mod n + 1
Do While j <> pMax2
If a(j) > a(pMax1) Then
t = a(pMax1): a(pMax1) = a(j): a(j) = t
t = a(pMax2): a(pMax2) = a(j): a(j) = t

t = a(pMax2): a(pMax2) = a(j): a(j) = t
End If
③ Loop
pMax1 = pMax1 + 1
pMax2 = pMax2 - 1
Next i
For i = 1 To n
List2.AddItem Str(a(i))
Next i
End Sub