為了找出QQ在線時間最長的5名學(xué)生,李風(fēng)設(shè)計(jì)了一個排序程序.程序運(yùn)行界面如圖所示:
左邊列表框List1中顯示排序前數(shù)據(jù),單擊“排序”按鈕Command1,在右邊列表框List2中顯示在線時間從高到低排名前5名的數(shù)據(jù).程序中數(shù)組a和數(shù)組b分別存儲學(xué)生的QQ昵稱和對應(yīng)的QQ在線時間.
程序代碼如下:
Const n As Integer=14'n為學(xué)生數(shù)
Dim a(1To n) As String'數(shù)組a用于存儲學(xué)生的QQ昵稱
Dim b(1To n) As Integer'數(shù)組b用于存儲學(xué)生的QQ在線時間
Private Sub Command1_Click ( ?。?br />Dim i As Integer,j As Integer,t As String,p As Integer
For i=1To n-1
For j=n To i+1Step-1
If ①Then
t=a(j-1):a(j-1)=a(j):a(j)=t
p=b(j-1):b(j-1)=b(j):b(j)=p
End If
Next j
Next i
For i=1To 5
List2.AddItem SpaceEx(a(i))+Str(b(i))+“分鐘“
Next i
End Sub
'以下函數(shù)用于在字符串后補(bǔ)插空格
Function SpaceEx(s As String) As String
Dim t As String,d As Integer,i As Integer
t=s:d=Len(s)
For i=1To 5-d
t=t+““
Next i
SpaceEx=②
End Function
Private Sub Form_Load ( ?。?br />'此過程用于對數(shù)組a和數(shù)組b進(jìn)行賦值,并顯示在List1中,代碼略
End Sub
(1)解決此問題采用的算法是 冒泡排序冒泡排序.(填:選擇排序/冒泡排序)
(2)在程序①和②填入適當(dāng)?shù)恼Z句或表達(dá)式,將程序補(bǔ)充完整:
程序中①應(yīng)填入 b(j)>b(j-1)b(j)>b(j-1).程序中②處應(yīng)填入 tt.
【考點(diǎn)】冒泡排序算法及其實(shí)現(xiàn);編輯事件處理過程的代碼.
【答案】冒泡排序;b(j)>b(j-1);t
【解答】
【點(diǎn)評】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/11/5 1:30:1組卷:21引用:2難度:0.1
相似題
-
1.有如下 Python 程序段:
運(yùn)行后列表中的值可能是( ?。?/h2>發(fā)布:2024/12/18 21:0:2組卷:5引用:3難度:0.3 -
2.用VB編寫的函數(shù)bubble_sort是一個用冒泡方法實(shí)現(xiàn)排序的函數(shù),其調(diào)用時需要三個參數(shù):布爾類型參數(shù)sx來確定是升序還是降序,sx為True時為升序,否則為降序;整數(shù)型數(shù)組a
比如有一個整數(shù)型數(shù)組a(1 to 10)需要降序排序,可以直接這樣調(diào)用:
a
該函數(shù)VB代碼如下:
Function bubble_sort(sx As Boolean,a
Dim i,j,t As Integer
For i=1 To n-1
For j=
If
If a(j)<a(j-1)Then t=a(j):a(j)=a(j-1):a(j-1)=t
Else
If a(j)>a(j-1)Then t=a(j):a(j)=a(j-1):a(j-1)=t
End If
Next j
Next i
bubble_sort=a
End Function
請將代碼補(bǔ)充完整:
①
②發(fā)布:2024/12/20 20:30:1組卷:23引用:2難度:0.3 -
3.用選擇排序法對一組數(shù)據(jù)進(jìn)行升序排序,第一趟排序結(jié)束后的順序?yàn)?、6、9、3、7,則原始數(shù)據(jù)順序不可能的是( )
發(fā)布:2024/12/18 23:0:1組卷:10引用:1難度:0.5
把好題分享給你的好友吧~~