【加試題】下列VB程序的功能是:程序運(yùn)行時(shí),單擊命令按鈕Command1后,產(chǎn)生10個(gè)[1,999]范圍內(nèi)互不相同的隨機(jī)整數(shù),依次顯示在列表框List1中,然后將它們按從小到大的順序排序,排序結(jié)果顯示在列表框List2中.
數(shù)組a用于存儲(chǔ)產(chǎn)生的10個(gè)隨機(jī)整數(shù),函數(shù)f(x)用于判斷隨機(jī)整數(shù)x與已生成的整數(shù)是否有重復(fù),若有重復(fù)則返回True,否則返回False.
(1)虛線框內(nèi)程序段所采用的排序算法名稱是 冒泡排序冒泡排序.(填:冒泡排序/選擇排序)
(2)在程序①和②橫線處填入適當(dāng)?shù)恼Z(yǔ)句或表達(dá)式,把程序補(bǔ)充完整.
Dim a(1To 10)As Integer
Function f(x As Integer)As Boolean
'代碼略
End Function
Private Sub Command1_Click( ?。?br />Dim n As Integer'n用于統(tǒng)計(jì)已經(jīng)產(chǎn)生的隨機(jī)整數(shù)個(gè)數(shù)
Dim i As integer,j As Integer
Dim x As Integer,k As Integer
Randomize'初始化Rnd函數(shù)
n=0
List1.Clear'清除列表框中內(nèi)容
List2.Clear
Do While n<10
x=lnt(Rnd*999)+1'產(chǎn)生[1,999]范圍內(nèi)的隨機(jī)整數(shù)
If Not f(x) Then
n=n+1
a(n)=x
List1.AddItem Str( ①a(n)①a(n))
End If
Loop
For i=1To 9'進(jìn)行排序
For j=10To i+1 ②Step-1②Step-1
If a(j)<a(j-1)Then
k=a(j):a(j)=a(j-1):a(j-1)=k
End If
Next j
Next i
For i=1To 10
List2.AddItem Str(a(i))
Next i
End Sub.
【考點(diǎn)】冒泡排序算法及其實(shí)現(xiàn);編輯事件處理過(guò)程的代碼.
【答案】冒泡排序;①a(n);②Step-1
【解答】
【點(diǎn)評(píng)】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:17引用:2難度:0.3
相似題
-
1.有如下 Python 程序段:
運(yùn)行后列表中的值可能是( ?。?/h2>發(fā)布:2024/12/18 21:0:2組卷:5引用:3難度:0.3 -
2.用VB編寫的函數(shù)bubble_sort是一個(gè)用冒泡方法實(shí)現(xiàn)排序的函數(shù),其調(diào)用時(shí)需要三個(gè)參數(shù):布爾類型參數(shù)sx來(lái)確定是升序還是降序,sx為True時(shí)為升序,否則為降序;整數(shù)型數(shù)組a
比如有一個(gè)整數(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
請(qǐng)將代碼補(bǔ)充完整:
①
②發(fā)布:2024/12/20 20:30:1組卷:23引用:2難度:0.3 -
3.用選擇排序法對(duì)一組數(shù)據(jù)進(jìn)行升序排序,第一趟排序結(jié)束后的順序?yàn)?、6、9、3、7,則原始數(shù)據(jù)順序不可能的是( ?。?/h2>
發(fā)布:2024/12/18 23:0:1組卷:10引用:1難度:0.5
把好題分享給你的好友吧~~