16.【加試題】有一英文單詞處理的Visual Basic程序,程序運行效果如第16題圖所示.在界面上方的文本框 Text1 中輸入英文語句,單擊“統(tǒng)計”按鈕(Command1),在右下方的列表框 List1 中顯示英文單詞及其在語句中出現的位置,并在按鈕上方的標簽框 Label2中顯示單詞個數(假定每個單詞中不包含英文字母以外的其他字符). 實現上述功能的VB代碼如下,但加框處代碼有錯,請改正. Private Sub Command1_Click( ) Dim a(1To 1000)As String Dim d(1To 1000)As Integer List1.Clear s=Text1.Text slen=Len(s) j=0 k=1 b=1 For i=1To slen c=Mid(s,i,1) If Then'(1) If j<>0 Then a(k)=Mid(s,b,j) d(k)=b k=k+1 j=0 End If b=i+1 Else j=j+1 End If Next i For i=1To k-1 List1.AddItem +““+a(i)'(2) Next Label2.Caption=Str(k-1)+“個“ End Sub.
17.【加試題】小張為了處理2015年中國主要城市的GDP數據,他把2015年中國主要城市的GDP據存儲在數據庫文件gdp.jye.ai中.他設計了一個Visual Basic程序,程序運行效果如第17題圖所示.在界面的左側列表框List1中顯示按各城市GDP數值,單擊“按人均GDP排序”按鈕(Command1),在右側列表框List2中顯示排序完成后的結果 (按人均GDP值從高到低排序). 實現上述功能的VB代碼如下: (1)請在空格處填入合適代碼. Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim n As Integer,i As Integer,j As Integer Dim t As Long,ts As String Dim a(1To 200)As Integer Dim c(1To 200)As String Dim g(1To 200)As Long Dim p(1To 200)As Long
Private Sub Form_Load ( ) conn.ConnectionString=“Provider=Microsoft.ACE.OLEDB.12.0;Data Source=“_ & App.Path &“\gdp.jye.ai“ '上面語句中的“_“為語句換行符,表示下一行內容為本行的繼續(xù) conn.Open Set rs.ActiveConnection=conn rs.Open“SELECT*FROM dGDP“ n=0'Ⅰ處代碼 Do While Not rs.EOF n=n+1 a (n)=rs.Fields(“GDP排名“).Value c(n)=rs.Fields(“城市“).Value g(n)=rs.Fields(“GDP“).Value p(n)=rs.Fields(“人均GDP“).Value List1.AddItem Str(a(n))+““+c(n)+““+_ Str(g(n))+““+Str(p(n)) '上面語句中的“_“為語句換行符,表示下一行內容為本行的繼續(xù) rs.MoveNext Loop rs.Close conn.Close Set rs=Nothing Set conn=Nothing End Sub Private Sub Command1_Click ( ) For i=1To n-1 For j=①
To n If p(i)<p(j) Then a(i)=a(i)+a(j) a(j)=a(i)-a(j) ②
P ts=c(i) c(i)=c(j) c(j)=ts t=g(i) g(i)=g(j) g(j)=t t=p(i) p(i)=p(j) p(j)=t End If Next j Next i List2.Clear For i=1To n List2.AddItem Str(a(i))+““+c(i)+““+_ Str(g(i))+““+Str(p(i)) '上面語句中的“_“為語句換行符,表示下一行內容為本行的繼續(xù) Next i End Sub (2)若Ⅰ處代碼n=0改為 n=1程序運行結果將不正確,其原因是