16.小吳為了研究冒泡排序過程中數據的“移動”情況,編寫了一個VB程序,功能如下:在列表框list1中顯示排序前數據(存儲在數組a中),在文本框text1中輸入初始位置(即下標值),單擊“排序”按鈕command1后,在標簽label1中顯示指定初始位置的數據在排序過程中的位置變化情況,排序后的數據顯示在列表框list2中。程序運行界面如圖所示。 實現上述功能的VB程序如下,但加框處代碼有錯,請改正。 Dim a(1To 8)As Integer Dim n As Integer Private Sub Form_Load ( ) a(1)=30:a(2)=47:a(3)=30:a(4)=72 a(5)=70:a(6)=23:a(7)=99:a(8)=24 n=8 For i=1To 8 List1.AddItem a(i) Next i End Sub Private Sub Command1_Click ( ) Dim i As Integer,j As Integer,k As Integer Dim posAs Integer Dim s As String s=Text1.Text pos=Val(Text1.Text) For i=1To n-1 For j=n To i+1Step-1 If a(j)<a(j-1)Then a(j-1)=a(j) a(j)=k '如果pos位置的數據參與交換,則更新pos值,記錄pos變化位置 If pos=j Then pos=j-1 s=s+“→“+Str(pos) pos=j s=s+“→“+Str(pos) End If End If Next j Next i Label1.Caption=“位置變化情況:“+s For i=1To n List2.AddItem Str(a(i)) Next i End Sub。
(3)請在橫線處填入合適的代碼. Dim a(1to 600)as integer‘數組大小滿足處理要求 Private sub command1_click ( ) ‘本過程由小王完成,從數據庫讀取指定科目的各相關數據,存儲在數組a中 Dim conn As New ADODB.Conncction Dim rs As New ADODB.Recordset Conn ConncctionString=”provider=Microsoft.ACE.OLEDB.12.0;data source=”+”Score.jye.ai” Conn.Open Set rs.ActiveConnection=conn ‘本過程的其他語句略 End sub Private sub command2_click ( ) ‘依據數組a中的相關數據統計各班級平均分 Dim i As Integer,j As Integer,n As Integer Dim p As Integer,sum As Integer,aver As Single ① p=n+2 For i=1To n sum=0 For j=1To a(i+1) ② p=p+1 Next j aver=sum/a(i+1) list1.additemstr(i)+““+str(a(i+1))+““+str(aver) next i End sub.