16.若一個正整數(shù)從左向右讀與從右向左讀都一樣,我們就將其稱之為回文數(shù)。如 11、121 均是回文數(shù)。請你編寫程序,輸出 10 至 n 之間的所有回文數(shù)。程序運行界面如圖所示,在文本框 Text1 中輸入一個正整數(shù) n,單擊“查找”按鈕 Command1,在列表框 List1 中顯示 10-n 之間的所有回文數(shù),并且在標簽 Label1 中輸出查找到回文數(shù)的總數(shù)。 問題:實現(xiàn)上述功能的 VB 代碼如下,但加框處代碼有錯,請改正。 Private Sub Command1_Click( ?。?br />Dim n as long,sum as long,i As Long Dim x as long,y as long List1.Clear n=Val(Text1.Text) sum=0 For i=10To n y=0 Do While x>0 x=x\10 Loop If y=i Then List1.additem Str(i) sum=sum+1 End if Next i Label1.caption=“共有”& Str(sum) &“個回文數(shù)”End Sub
17.小王用 VB 編寫一個自動統(tǒng)計離散數(shù)據(jù)的“極大值”(如圖 a 所示)個數(shù)的程序。功能如下:在列表框 List1 中隨機產生 n 個介于[1,99]的正整數(shù),單擊“統(tǒng)計極大值”命令按鈕 Command1,程序自動統(tǒng)計出極大值,并將其輸出到列表框 List2,且將其中的最大值輸出在標簽 Label1 中。程序界面如圖 b 所示,實現(xiàn)上述功能的 VB 程序如下。(假設:數(shù)據(jù)的左右兩個端點不 計入極大值,且相等的兩個值也不計入極大值)。請回答以下問題:
(1)當 n=6,原始數(shù)據(jù)為“8 39 24 5 71 25”,此時極大值有:
。 (2)請在橫線處填入合適的代碼。Const n=10 Dim a(1To n) As Integer'存儲原始數(shù)據(jù) Dim Max(1To n) As Integer'存儲極大值數(shù)據(jù) Private Sub Form_Load ( ?。?原始數(shù)據(jù)初始化 Randomize For i=1To n a(i)=
'產生[1,99]間隨機整數(shù) List1.AddItem Str(a(i)) Next i End Sub Private Sub Command1_Click ( ?。?br />Dim i As Integer,j As Integer Dim count As Integer,Maxa As Integer count=0 List2.Clear For i=2To n-1'統(tǒng)計極大值,左右兩邊端點值除外 If
Then count=count+1
=a(i) End If Next i Maxa=0 For i=1To count List2.AddItem Str(Max(i)) If Maxa<Max(i) Then Maxa=Max(i) End If Next i Label1.Caption=“極大值中的最大值為:“+Str(Maxa) End Sub