某校運(yùn)動(dòng)會(huì)跳遠(yuǎn)比賽,共m位(m≤20)選手參加該比賽,第一輪初賽每位選手跳3次,然后按每位選手的最好成績(jī),按高到低取前k名(若最好成績(jī)相同,則名次相同)進(jìn)入第二輪復(fù)賽。
每位選手的成績(jī)數(shù)據(jù)記錄規(guī)則如下:成績(jī)數(shù)據(jù)以“;”(分號(hào))結(jié)尾,中間用“/”(斜杠)分隔,例如:“王一超/4.10/-/3.78;李雨歆/3.87/3.85/4.20;”,表示第一位選手王一超,第一次成績(jī)4.10米,第二次成績(jī)無(wú)效(用“-”表示),第三次成績(jī)3.78米,最好成績(jī)?yōu)?.10米。第二位選手李雨歆,3次成績(jī)分別是3.87米、3.85和4.20米,最好成績(jī)?yōu)?.20米。
小強(qiáng)編寫VB程序?qū)崿F(xiàn)上述功能:程序運(yùn)行時(shí),讀取所有選手?jǐn)?shù)據(jù)保存在變量cj中,并顯示在列表框 List1中。在文本框Text1中輸入進(jìn)入第二輪的名次,單擊“第二輪復(fù)賽名單”按鈕 Command1,對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,并在列表框 List2 中顯示進(jìn)入復(fù)賽的選手名單和最好成績(jī),程序運(yùn)行界面如圖所示,請(qǐng)回答下列問(wèn)題。
(1)代碼“List2.AddItem”中的 AddItem 是
B
B
(單選,填字母:A.事件名/B.方法名/C.屬性名)。
(2)實(shí)現(xiàn)上述功能的 VB 程序如下,請(qǐng)?jiān)跈M線處填入合適的代碼。
(3)程序中加框處代碼有錯(cuò),請(qǐng)改正。
Private Sub Command1_Click ( )
Dim cj As String,xm(1 To 20)As String,maxcj(0 To 20)As Single
Dim s As String,c As String,t As Single,z As Integer
Dim i As Integer,j As Integer,n As Integer,k As Integer,m As Integer
'讀取所有選手?jǐn)?shù)據(jù)保存在變量cj中,并顯示在列表框 List1中,代碼略
n=Len(cj)
i=1:m=1:z=1
Do While i<=n
c=Mid(cj,i,1)
j=i
Do While
'(3)
i=i+1
c=Mid(cj,i,1)
Loop
If z=1 Then
①Else
t=Val(Mid(cj,j,i-j))
If t>maxcj(m) Then maxcj(m)=t
End If
z=z+1:i=i+1
If c=″;″Then m=m+1:z=1
Loop
m=m-1
k=Val(Text1.Text)
For i=1 To m-1
For j=
②If maxcj(j)>maxcj(j-1)Then
c=xm(j):xm(j)=xm(j-1):xm(j-1)=c
t=maxcj(j):maxcj(j)=maxcj(j-1):maxcj(j-1)=t
End If
Next j
If
③Then
List2.AddItem xm(i)+Str(maxcj(i))
Else
Exit For
End If
Next i
End Sub