题目

某校进行模拟考,现有25名学生的语数英三门课的成绩(按百分制)存储在数据库student.accdb中的数据表cj中,现取出各学生成绩存储在cj( )数组中,成绩存放如下: 运行程序,点击“数据导入”按钮后,在列表框list1中显示所有数据。点击“排序"按钮,按总分从高到低计算名次(成绩相同的名次相同),并按排名先后在列表框list2中显示,数据要求对齐。程序运行界面如图16-1所示: (1) 观察程序及界面,可知“排序”按钮的对象名为。 (2) 实现上述程序功能的VB程序段如下,请在划线出填入合适的代码。 Dim cj(1 To 100) As Integer Dim b(1 To 301) As Integer     '分数为i的人数存入b(i) Private Sub Cmdl_ Click( )     Dim conn As New ADODB.Connection     Dim rs As New ADODB.Recordset     conn.ConnectionString = "Provider =Microsoft.ACE.OLEDB.12.0;Data Source= " &App.Path& "\studentaccdb"     conn.Open     Set rs.ActiveConnection = conn     rs.Open "SELECT*FROM cj"     n =1     Do While Not rs.EOF         cj(n)= rs.Fields("语文"):cj(n+1) = rs.Fields("数学")         cj(n+2) = rs.Fields("英语"):cj(n+3) = cj(n)+cj(n+1)+cj(n+3)                 rs.MoveNext     Loop     rs.Close:conn.Close     '此处代码略,用来实现将数据在list1中输出 End Sub Private Sub paixu_ Click( )     Dim mc As Integer     '预处理求b数组的值     For j=4 To 100 Step 4             Next j     '以下程序用于计算名次并按要求对齐输出     mc=1:b(301)=0     List2.AddItem"语文"+"数学"+"英语"+"总分"+"名次     List2.AddItem "------------------------------------------------"     For i=300 To 1 Step -1                 If b(i) <> 0 Then             For c=4 To 100 Step 4                 If cj(c) = i Then                     List2.AddItem                 End If             Next c         End If     Next i End Sub '以下函数输出时数据s时,不足7位末尾补空格 Function gs(s As Integer) As String     Dim cd As String     ed = CStr(s)     For i=1 To 7 -Len(cd)         cd= cd+" "     Next i     gs = cd End Function 答案: 【1】paixu 【1】n=n+4【2】b(cj(i)) = b(cj(i)) + 1【3】mc=mc+b(i+1)【4】gs(cj(c-3)) + gs(cj(c- 2)) + gs(cj(c- 1)) + gs(cij(c)) + gs(mc)
信息技术 试题推荐
最近更新