【加試題】下列VB程序的功能是:程序運行時,單擊命令按鈕Command1后,產生10個[1,999]范圍內互不相同的隨機整數,依次顯示在列表框List1中,然后將它們按從小到大的順序排序,排序結果顯示在列表框List2中.
數組a用于存儲產生的10個隨機整數,函數f(x)用于判斷隨機整數x與已生成的整數是否有重復,若有重復則返回True,否則返回False.
(1)虛線框內程序段所采用的排序算法名稱是 冒泡排序冒泡排序.(填:冒泡排序/選擇排序)
(2)在程序①和②橫線處填入適當的語句或表達式,把程序補充完整.
Dim a(1To 10)As Integer
Function f(x As Integer)As Boolean
'代碼略
End Function
Private Sub Command1_Click( )
Dim n As Integer'n用于統計已經產生的隨機整數個數
Dim i As integer,j As Integer
Dim x As Integer,k As Integer
Randomize'初始化Rnd函數
n=0
List1.Clear'清除列表框中內容
List2.Clear
Do While n<10
x=lnt(Rnd*999)+1'產生[1,999]范圍內的隨機整數
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'進行排序
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.
【考點】冒泡排序算法及其實現;編輯事件處理過程的代碼.
【答案】冒泡排序;①a(n);②Step-1
【解答】
【點評】
聲明:本試題解析著作權屬菁優網所有,未經書面同意,不得復制發布。
發布:2024/6/27 10:35:59組卷:17引用: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