17.丟失的成績.某校運(yùn)動(dòng)會(huì)上,高一男子100米決賽的成績已出,前8名的成績記錄單由于不小心丟失一張,只剩下7個(gè)成績,分別是(單位:秒)11.5,11.8,12.1,12.5,13.1,13.5,13.9.后來找到了,需將找到的成績插入相應(yīng)的位置,使數(shù)據(jù)序列仍保持有序,并求出該成績的名次.為實(shí)現(xiàn)這一目標(biāo),設(shè)計(jì)如下VB程序,界面如圖所示:先輸入7位選手成績,自動(dòng)將成績從小到大排序后輸出到列表框List1中.輸入丟失成績后,點(diǎn)擊“插入”按鈕將該成績添加到適當(dāng)位置并輸出選手成績到List2中,并在Label4中顯示該成績的名次.
實(shí)現(xiàn)上述功能的VB程序如下,請完成以下問題:
Dim a(1To 8)As Single
Dim n As Integer,i As Integer,x As Single
Private Sub Form_Load ( ?。?br />Dim j As Integer,temp As Single
’輸入7位選手100米成績,代碼略
’將7位選手成績從小到大排序
For i=1To 6
For j=7To i+1Step-1
If a(j)<a(j-1)Then
temp=a(j)
a(j)=a(j-1)
a(j-1)=temp
End If
Next j
Next i
’將排序好的選手成績輸出到列表框List1
List1.Clear
For i=1To 7
List1.AddItem Str(a(i))
Next i
End Sub
Private Sub Command1_Click ( ?。_定該遺漏選手的成績排名第幾位?
x=Val(Text1.Text)
i=1
Do While x>a(i)
Loop
Label4.Caption=“該選手位列第”+Str(i)+“名!”
’將該遺漏選手成績添加到適當(dāng)位置,使數(shù)組仍保持有序并輸出到列表框List2
For j=8To i+1Step-1
a(j)=a(j-1)
Next j
For i=1To 8
List2.AddItem a(i)
Next i
End Sub
(1)Form Load事件處理過程中代碼采用的算法是
(選擇排序/插入排序/冒泡排序)
(2)①處代碼應(yīng)為:
.
②處代碼應(yīng)為:
.