15.現(xiàn)要編寫一個程序,對每個班級的同學(xué)生成考試座位號,規(guī)則如下:先按成績從高到低排序,如果成績相同,學(xué)號在前的學(xué)生座位號在前,最后輸出每個同學(xué)的座 位號。小王和小李采用不同的方法實現(xiàn)了上述算法。 請仔細(xì)比較兩位同學(xué)的代碼的不同之處,并完成相關(guān)代碼的填空。 Dim xm(1 To n) As String,xh(1 To n) As String Dim cj(1 to n)As Integer Private Sub form_load ( ?。?br />‘讀取相關(guān)數(shù)據(jù)表,把姓名、學(xué)號、成績分別存儲到數(shù)組 xm、xh、cj 中,并在 List1 中顯示,代碼略 End Sub Private Sub Com1_Click ( ?。湫⊥蹙帉懙拇a部分 Dim wz(1 To n) As Integer For i=1 To n-1 wz(i)=i For j=n To i+1 Step-1 If (1)Then t=cj(j):cj(j)=cj(j-1):cj(j-1)=t t=xh(j):xh(j)=xh(j-1):xh(j-1)=t End If Next j Next i (2) For i=1 To n-1 For j=n To i+1 Step-1 If(3)Then t=cj(j):cj(j)=cj(j-1):cj(j-1)=t t=xh(j):xh(j)=xh(j-1):xh(j-1)=t t=wz(j):wz(j)=wz(j-1):wz(j-1)=t End If Next j Next i List2.Clear List2.AddItem″學(xué)號 姓名 成績 座位號″For i=1 To n List2.AddItem xh(i)+″″+xm(i)+″″+Str(cj(i))+““+Str(wz(i)) Next i End Sub Private Sub Com2_Click ( ?。湫±罹帉懙拇a部分 Dim wz(1 To n) As Integer,t(1 To n) As Integer For i=1 To n t(i)=i Next i For i=1 To n For j=n To i+1 Step-1 If(4)Then temp=t(j):t(j)=t(j-1):t(j-1)=temp End If Next j(5)Next i List2.Clear List2.AddItem″學(xué)號 姓名 成績 座位號″For i=1 To n List2.AddItem xh(i)+″″+xm(i)+″″+Str(cj(i))+″″+Str(wz(i)) Next i End Sub
(單選,填字母:A.屬性名 /B.事件名/C.方法名/D.過程名)。 (2)請在橫線處填入合適的代碼。 (3)程序中加框處代碼有錯,請改正。Dim a(1 To 100)As Integer Dim n As Integer Function dq(s As String,L As Integer) As String'自定義對齊函數(shù) Rem 在輸入的字符串 s 前加若干空格,輸出長度為 L 的字符串,代碼略 End Function PrivateSub Command1_Click ( ?。?生成數(shù)字矩陣 ‘隨機生成 n^2 個數(shù)字,存儲在數(shù)組 a 中,代碼略 ‘以一行 n 個,共 n 行的格式顯示在 List1 中,代碼略 End Sub Private Sub Command2_Click ( ?。?數(shù)字矩陣排序 Dim i As Integer,k As Integer,j As Integer,s As String Dim f As Boolean List2.Clear f=True For i=1 To n^2 Step n s=″″ For j=i To k=n^2 Do While① If a(k)<a(k-1)Then t=a(k):a(k)=a(k-1):a(k-1)=t End If k=k-1 Loop If f=True Then s=s+″″+dq(Str(a(j)),2)Else s=″″+dq(Str(a(j)),2)+s End If Next j List2.AddItem s ② Next i End Sub