某学校开展了艺术节活动,数组a中存储了n个节目的编号和得分数据,数组存储结构如下图所示:
小明使用选择排序思想对上述n个节目按得分进行降序排序(得分相同的按编号升序排列),并依据得分插入各个节目的排名信息,处理后数组a的存储结构如下图所示:
程序运行时,单击命令按钮Command1后读取数据到数组a中并显示在列表框List1中,单击命令按钮Command2后将节目按照上述规则进行排序,并将排名结果显示在列表框List2中。实现上述功能的VB程序如下,请回答下列问题:
(1)
已知窗体名称为Form1,要使程序加载时,窗体标题自动显示为“第15题程序”,则可在(单选,填字母:A .Form_ Click() / B .Form Load() / C .Form1_ Click() / D .Forml_ Load()) 事件过程中添加代码: Form1. Caption= "第15题程序"。
(2)
请在划线处填入合适的代码。
Const n = 20
Dim a(1 To 3 * n) As Integer
Private Sub Command1_Click ()
‘读取数据,存储在数组a中,并显示在列表框List1中。代码略
End Sub
Private Sub Command2_Click ()
k=i
For j=1 To i-1
If a(2*j) < a(2*k) 0r Then
k=j
End If
Next j
a(3*i)=a(2*k)
a(3*i-1)=a(2*k-1)
a(2*k-1)=a(2*i-1)
Next i
List2. AddItem "第1名:编号”+ CStr(a(2)) + ",分数”+ Str(a(3))
a(1) =1
mc=1
For i=2 To n
If Then mc=i
List2. AddItem "第"+ Str(mc) + "名:编号" + CStr(a(3* i-1)) +",分数"+Str(a(3 * i))
a(3*i-2)=mc
Next i
End Sub
(3)
加框处代码有误,请改正。
答案: 【1】B
【1】a(2*j)=a(2*k)Anda(2*j-1)>a(2*k-1)或其它等价表达式【2】a(2*k)=a (2*i)【3】a(3* i) <a(3*i-3)或其它等价表达式
For i=n to 1 step -1