Private Sub Command1_Click ( ) Const n=15 Dim a(1 To n) As Integer,search As Integer,key As Integer Dim i As Integer,j As Integer,m As Integer '讀取一組正整數(shù),按上述規(guī)則存入數(shù)組a中,代碼略。 key=Val(Text1.Text) i=1:j=n:search=0 Do While i<=j m=(i+j)\2 If m Mod 3<>0 Then m='(1)把m調(diào)整到三個一組的最后一個數(shù)的位置 If key=a(m) Then search=m:Exit Do ElseIf key<a(m) Then j=m-3 ElseIf Then'(2) i=m+1 ElseIf key=a(m-2)Then search=m-2:Exit Do ElseIf key=a(m-1)Then search=m-1:Exit Do Else search=0:Exit Do End If Loop If search<>0 Then Text2.Text=Str(search) Else Text2.Text=“找不到“ End IfEnd Sub
程序功能如下: 在窗體加載時,從數(shù)據(jù)庫中讀取學生總數(shù)N;讀取N名學生的信息存儲在相關數(shù)組中。N名學生的學號依次存儲在數(shù)組xh(1)~xh(n) 中;學號為i的學生的總成績存儲在數(shù)組 zf(i)中,課程選修信息存儲在xk(i)中; 點擊“統(tǒng)計”按鈕后,程序篩選出所有技術考生的相關信息,并計算該學生在所有技術考生中的排名(總分相同的,排名也相同)。 實現(xiàn)上述功能的VB程序如下,請回答下列問題: (1)請在橫線處填入合適的代碼。 Dim xh(1 To 1000)As Integer’數(shù)據(jù)庫中讀取時第i為學生的學號存儲在xh(i) Dim zf(1 To 1000)As Integer’學號為i的考生的總分存儲在zf(i) Dim xk(1 To 1000)As String’學號為i的考生的選考課程信息存儲在zf(i) ’數(shù)據(jù)格式**-**-**(如:物理-化學-生物) Dim jspm(1 To 1000)As Integer’學號為i的技術選考生的總分在所有技術考生中的 ’排名存儲在數(shù)組jspm(i) Private Sub Form_Load ( ?。?br />Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim constr as string,sql as string Constr=“Provider=Microsoft.ace.OLEDB.12.0;“ Constr=constr &“Data Source=“& App.Path+“\data\stu2018.a(chǎn)ccdb“ conn.ConnectionString=constr conn.open ( ?。?br />rs.Open“select*from 2018cj“,conn i=0 Do While Not rs.EOF i=i+1 xh(i)=rs(“xuehao”) zf(rs(“xuehao”))=rs(“fenshu”) xk(rs(“xuehao”))=rs(“xkinfo”)
Loop N=i End Sub ’判斷選科信息info中是否包含科目km Function YouKM(ByVal km As String,ByVal Info As String) As Boolean Dim km1 As String YouKM=False For i=1 To 3 If
Then YouKM=True Exit For End If Next i End Function '為技術學科考試求名次 Private Sub Command1_Click ( ?。?br />Dim jsinfo(1 To 1000)As Integer’依次存儲每個技術選考生的學號和成績 Dim k as integer’存儲找到的技術選考學生的數(shù)量 '將所有選考“技術”的考生學號、成績依次存入數(shù)組jsinfo中 k=0 For i=1 To n If
Then k=k+1 jsinfo(2*k-1)=xh(i) jsinfo(2*k)=cj(xh(i)) End If Next i '學號為i的學生在技術選考生中的排名,存入jspm(i)中 For i=1 To k mc=0 For j=1 To k If jsinfo (2*j)>jsinfo (2*i) Then mc=mc+1 Next j jspm(jsinfo(2*i-1))=