【加试题】编写一个技术成绩查询的 VB 程序。程序功能如下:在文本框 Text1 中输入分数 key(0-50 的整数),单击“查询”按钮 Command1,查询出信息成绩大于等于 key 的所有记录,并以“信息”为主要关键字、“通用”为次要关键字均进行降序排序,结果输出在列表框 List2 中。运行界面如下图所示。 实现上述功能的 VB 程序如下,请回答下列问题:
(1)
观察上图,排序后第 5 位的学生姓名是。
(2)
请在划线处填入合适的代码。 Dim xm(1 To 600) As String '存储学生姓名Dim xx(1 To 600) As Integer '存储信息成绩Dim ty(1 To 600) As Integer '存储通用成绩Dim n As Integer '存储记录总数Private Sub Form_Load()'本过程从数据库中读取学生数据,存储在相应的变量中,并在 List1 中显示'代码略End subPrivate Sub Command1_Click()Dim key As Integer, mid As IntegerDim i As Integer, L As Integer, R As Integer, k As IntegerDim tmp1 As String, tmp2 As Integer '以“信息”为主要关键字、“通用”为次要关键字排序For i = 1 To n - 1 k = iFor j = i + 1 To nIf xx(k) < xx(j) or Then k = jEnd If Next jIf k <> i Thentmp1 = xm(k) : xm(k) = xm(i) : xm(i) = tmp1tmp2 = xx(k) : xx(k) = xx(i) : xx(i) = tmp2tmp2 = ty(k) : ty(k) = ty(i) : ty(i) = tmp2 End IfNext i '查询记录key = Val(Text1.Text) L = 1 : R = nDo While L <= Rmid = (L + R) \ 2If Then L = mid + 1ElseR = mid - 1 End IfLoop List2.Clear' vbTab 相当于是键盘上制表符 TAB 按键的功能List2.AddItem "姓名" & vbTab & "信息" & vbTab & "通用" For i = 1 to List2.AddItem xm(i) & vbTab & xx(i) & vbTab & ty(i) Next iEnd sub
答案: 【1】李 白
【1】xx(k)=xx(j) And ty(k)<ty(j)【2】xx(mid)>=key【3】L-1