最大整數問題:設有 n 個隨機生成的正整數,將它們連接成一排,組成一個最大的多位整數。其求解 思想是:先把整數轉換成字符串,然后再比較 a+b 和 b+a,如果 a+b>b+a,就把 a 排在 b 的前 面,反之則把 b 排在 a 的前面。 例如:n=3 時,3 個整數 13,312,343,連成的最大整數為 34331213。 靜靜編寫了一個 VB 程序,功能如下:在列表框 List1 中隨機生成 n 個 1~1000 之間的整數,單擊“求解”按鈕 Command1 后,最大整數輸出在文本框 Text1 中。當 n 等于 4 時,程序運行界面如圖所示。 實現上述功能的 VB 程序如下,請回答下列問題: (1)當 n=3 時,3 個數:517,571,57,由這三個數組成的最大整數為
57157517
57157517
。 (2)請在橫線處填入合適的代碼。 Const n=4 Dim a(1 To n) As Integer Dim i As Integer,j As Integer Dim t As Integer,k As Integer Private Sub Form_Load
( )
( )
Randomize For i=1 To n a(i)=①
int(rnd*1000)+1
int(rnd*1000)+1
'生成 1~1000 之間的隨機整數 List1.AddItem“a(“+CStr(i)+“)=“+CStr(a(i)) Next i End Sub Function cmp(a As Integer,b As Integer) As Boolean If CStr(a)+CStr(b)<CStr(b)+CStr(a) Then cmp=True Else cmp=False End If End Function Private Sub Command1_Click
( )
( )
For i=1 To n-1 k=i For j=i+1 To n If ②
cmp(a(k),a(j))
cmp(a(k),a(j))
Then k=j Next j If ③
k<>i
k<>i
Then t=a(k):a(k)=a(i):a(i)=t Next i For i=1 To n Text1.Text=Text1.Text+CStr(a(i)) Next i End Sub
1.大部分社交軟件都有好友推薦的功能,當用戶 A 和用戶 B 的共同好友數量超過閾值 p 時,由系統向用戶 A 推薦用戶 B。 編寫 VB 程序,實現好友推薦功能。運行程序,列表框 Listl 中顯示用戶 id 及好友列表,在文本框 Textl 中 輸入推薦目標用戶 id,在文本框 Text2 中輸入閾值 p,點擊“推薦”按鈕,在列表框List2 中顯示用戶之間的關系,在標簽 Label5 中顯示向目標用戶推薦的好友列表。程序運行界面如圖: (1)根據如圖所示數據,若輸入用戶 id 為“3”,輸入閾值為“3”,則推薦好友為: