小李基于選擇排序思想編寫了一個VB程序實現數據排序,排序后奇數在前、偶數在后,奇數和偶數都按升序排序。具體功能如下:產生10個隨機整數存數組a,在列表框List中顯示,單擊“排序”按鈕Command1,對數組a排序后在列表框List2中顯示。程序運行界面如圖所示,實現上述功能的ⅤB代碼如下:

Constn=10
Dima(0Ton)AsInteger
PrivateSubForm_Load ( )
′程序功能:產生n個隨機整數存數組a,在列表框Listl中顯示,代碼略。
Endsub
PrivateSubCommand1_Click ( )
DimiAsInteger,jAsInteger,kAsInteger,tAsInteger,flagAsBoolean
i=1:flag=True
DoWhileI<=n-1
IfflagThen
k=0:flag=False
Forj=iTon
Ifa(j)Mod2=1Then
If
Thenk=j:flag=True‘改正:a(j)<a(k)or flag=falsea(j)<a(k)or flag=false
EndIf
Nextj
IfflagThen
IfI<>kThent=a(i):a(i)=a(k):a(k)=t
Else
i=i-1i=i-1
EndIf
Else
K=i
Forj=i+1Ton
Ifa(j)<a(k)Thenk=j
Nextj
Ifi<>kThent=a(i):a(i)=a(k):a(k)=t
EndIf
i=i+1
Loop
Fori=1Ton
List2.AddItemStr(a(i))
Endsub
(1)代碼“Privatesubcommand1_click ( )”中的Click是CC。(單選,填字母:A.對象名/B.屬性名/C.事件名)
(2)將程序代碼中橫線處代碼補充完整。
(3)程序代碼中的加框處代碼有誤,請改正。
(4)程序代碼中,flag值為truetrue表示該遍處理是挑選未排序奇數中的最小數據排到合適的位置。
【考點】冒泡排序算法及其實現.
【答案】a(j)<a(k)or flag=false;i=i-1;C;true
【解答】
【點評】
聲明:本試題解析著作權屬菁優網所有,未經書面同意,不得復制發布。
發布:2024/11/22 3:0:2組卷:16引用:2難度:0.3
相似題
-
1.有如下 Python 程序段:
運行后列表中的值可能是( )A.11,1,7,5,4,3 B.5,3,6,4,0,2 C.4,1,7,4,4,0 D.9,8,1,1,5,4 發布:2024/12/18 21:0:2組卷:5引用:3難度:0.3 -
2.用VB編寫的函數bubble_sort是一個用冒泡方法實現排序的函數,其調用時需要三個參數:布爾類型參數sx來確定是升序還是降序,sx為True時為升序,否則為降序;整數型數組a
比如有一個整數型數組a(1 to 10)需要降序排序,可以直接這樣調用:
a
該函數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
請將代碼補充完整:
①
②發布:2024/12/20 20:30:1組卷:23引用:2難度:0.3 -
3.用選擇排序法對一組數據進行升序排序,第一趟排序結束后的順序為2、6、9、3、7,則原始數據順序不可能的是( )
A.2、6、9、3、7 B.9、6、2、3、7 C.3、6、9、7、2 D.3、6、9、2、7 發布:2024/12/18 23:0:1組卷:10引用:1難度:0.5