16.【加試題】小明編寫了一個VB程序,功能如下:在文本框Text1中輸入一段英文,并在文本框Text2中輸入英文段落中的某個單詞(或字符串),單擊“最大間距”按鈕(Command1)后,在文本框Text3中顯示該單詞在文中某兩次出現(xiàn)的最大間距,若只出現(xiàn)一次或不出現(xiàn)則顯示值為0.程序運(yùn)行界面如圖所示: 實現(xiàn)上述功能的VB程序如下: Private Sub Command1_Click ( ?。?br />Dim a(1To 1000)As String'數(shù)組a存儲文中出現(xiàn)該指定單詞(或字符串)的各個位置 Dim s As String,c As String,ch As String Dim n As Integer,max As Integer,i As Integer s=Text1.Text c=Text2.Text n=0:Max=0 For i=1To Len(s)-Len(c)+1 ch=① If ch=c Then n=n+1 a(n)=i If n>=2Then If a(n)-a(n-1)-Len(c)>Max Then Max=a(n)-a(n-1)-Len(c) End If End If Next i Text3.Text=② End Sub 以上程序段運(yùn)行時,為了實現(xiàn)上述功能,橫線處①和②應(yīng)填入的代碼分別為: (1)
17.【加試題】小方同學(xué)使用VB編程研究素數(shù)問題,程序運(yùn)行界面如圖所示.他發(fā)現(xiàn)1~100之內(nèi)的素數(shù)一共有25個,并且將這些素數(shù)全部保存到數(shù)組a中,在列表框List1中顯示所有素數(shù)(按大小從低到高排列).在文本框Text1中輸入需要查找的數(shù)據(jù),單擊“查找”按鈕Command2,在標(biāo)簽框Label3中顯示查找結(jié)果. 程序代碼如下: Dim a(1To 25)As Integer'數(shù)組a用于存儲1~100之內(nèi)的素數(shù) Function search(k As Integer)As Integer i=1:j=25 Do While i<=j m=
If a(m)=k Then search=m:Exit Function ElseIf k<a(m)Then j=m-1 Else i=m+1 End If Loop search=0 End Function Private Sub Command1_Click( ?。?生成素數(shù)事件過程 Dim i As Integer,j As Integer,k As Integer List1.Clear k=0 For i=2To 100 For j=2To i-1 If i Mod j=0Then Exit For End If Next j Next j If
Then k=k+1 a(k)=i List1.AddItem“a(”& k &“)=”& a(k) End If Next i End Sub Private Sub Command2_Click( ?。?查找數(shù)據(jù)事件過程 Dim t As Integer,r As Integer t=Val(Text1.Text) r=
If r=0Then Label3.Caption=“1~100中的素數(shù)無此數(shù)據(jù)!” Else Label3.Caption=“素數(shù)序列和第”&Str(r)&“個數(shù)!” End If End If End Sub (1)自定義函數(shù)search采用的算法是