21.輸入一個三位數(shù)的整數(shù),要求將此三位數(shù)的各位上的數(shù)字重新排列,組成一個盡可能大的三位數(shù).例如:輸入213,重新排列可得到盡可能大的三位數(shù)是321. 現(xiàn)要求編寫VB程序(運行界面如圖所示),實現(xiàn)如下功能:在文本框Text1中輸入一個三位數(shù)整數(shù),單擊“求解”按鈕Command1,在文本框Text2中顯示重新組合后的最大三位數(shù)整數(shù).某同學(xué)按此要求編寫的程序如下,其中函數(shù)max(x)用于求解最大三位數(shù)整數(shù),但加框處代碼有錯,請改正. ①
②
Function max(x As Integer) As Integer Dim a As Integer,b As Integer,c As Integer,t As Integer a=x\100 b='① c=x mod 10 If a<b Then t=a:a=b:b=t If a<c Then t=a:a=c:c=t If b<c Then t=c:c=b:b=t max='② End Function Private Sub Command1_Click Dim n As Integer,y As Integer n=Val(Text1.Text) y=max(n) Text2.Text=Str(y) End Sub.
22.下列VB程序的功能是:程序運行時,單擊命令按鈕Commandl后,產(chǎn)生10個[1,999]范圍內(nèi)互不相同的隨機整數(shù),依次顯示在列表框List1中,然后將它們按從小到大的順序排序,排序結(jié)果顯示在列表框List2中. 數(shù)組a用于存儲產(chǎn)生的10個隨機整數(shù),函數(shù)f(x)用于判斷隨機整數(shù)x與已生成的整數(shù)是否有重復(fù),若有重復(fù)則返回True,否則返回False. (1)虛線框內(nèi)程序段所采用的排序算法名稱是.(填:冒泡排序/選擇排序) (2)在程序(1)和(2)橫線處,填入適當?shù)恼Z句或表達式,把程序補充完整. Dim a(1To 10)As Integer Function f(x As Integer) As Boolean ′代碼略 End Function Private Sub Commandl_Click ( ) Dim n As Integer′n用于統(tǒng)計已經(jīng)產(chǎn)生的隨機整數(shù)個數(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=Int(Rnd*999)+1′產(chǎn)生[1,999]范圍內(nèi)的隨機整數(shù) If Not f(x) Then n=n+1 a(n)=x List1.AddItem Str((1)
) End If Loop For i=1 To 9 For j=10 To i+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.