某打靶比赛规则如下:n名参赛人员进行m轮比赛,每人每轮打靶3次,取3次中的最高分作为该轮比赛的成绩,统计每位选手m轮比赛的总分,再根据总分进行排名。
程序功能如下:加载窗体,程序将相关数据存储到数组a、数组b,并显示在列表框List1中,然后单击“统计”按钮Command1,在列表框List2中显示统计结果。数组b各元素含义如图a所示。程序运行界面如图b所示。
请回答下列问题:
(1)
下列对象中,没有 Caption 属性的是(单选,填字母:A .Command1 / B .Form1 / C .List1 / D .Label1)。
(2)
实现上述功能的VB程序如下,请在划线处填入合适的代码。
Dim n As Integer, m As Integer
Dim a(1 To 1000) As String
Dim b(1 To 3000) As Single
Private Sub Form_Load()
'将参赛人数存入变量n,比赛轮数存入变量m中
'将选手序号存储到数组a中、打靶成绩存储到数组b中,并显示在列表框List1中,代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer, t As Integer
Dim max As Single, s1 As String, s2 As Single
Dim sum(1 To n) As Single
'对数组 sum 中各元素赋初值 0,代码略
For i = 1 To m
t =
For j = 1 To n
max = fm(b(t + (j - 1) * 3 + 1), b(t + (j - 1) * 3 + 2))
max =
sum(j) = sum(j) + max
Next j
Next i
For i = 2 To n '按总分对参赛人员进行排序
j = i - 1
s1 = a(i)
s2 = sum(i)
Do While
a(j + 1) = a(j)
sum(j + 1) = sum(j)
j = j - 1
Loop
a(j + 1) = s1
sum(j + 1) = s2
Next i
For i = 1 To n
List2.AddItem "第" + Str(i) + "名" + a(i) + " " + Str(sum(i))
Next i
End Sub
Function fm(x As Single, y As Single) As Single
'返回 x、y 中的较大值,代码略
End Function
答案: 【1】C
【1】(i - 1) * 3 * n【2】fm(max, b(t + j * 3))【3】s2 > sum(j) And j > 0