题库 高中信息

题干

数组a中存储了n个学生的学号和成绩数据,其中奇数位置存储学号信息,偶数位置存储成绩信息,数组存储结构如下表所示:
1
2
3
4
5
6
……
2n-1
2n
学号
成绩
学号
成绩
学号
成绩
……
学号
成绩
第1个学生信息
第2个学生信息
第3个学生信息
……
第n个学生信息
 
小迪同学使用选择排序思想对上述n个同学按成绩进行降序排序(成绩相同的按学号升序排列),并依据成绩插入各位同学的名次信息,处理结束的数组a存储结构如下表所示:
1
2
3
4
5
6
7
8
9
……
3n-2
3n-1
3n
名次
学号
成绩
名次
学号
成绩
名次
学号
成绩
……
名次
学号
成绩
第1个学生信息
第2个学生信息
第3个学生信息
……
第n个学生信息
 
小迪同学使用VB编写了成绩处理程序,程序运行界面如下图所示:

实现上述功能的VB程序如下,请回答下列问题。
Const n=20
Dim a(1 To 3* n)As Integer
Private Sub Command1_ Click()

'读取数据,存储在数组a中,并显示于列表框List1中

'代码略

End Sub
Private Sub Command2_ Click()
'①改错
k=i
For j=l To i-l
If a(2*j)<a(2*k)Or Then
k=j
End if

Next j

A(3*i=a(2*k)
A(3*i-1)=a(2*k-1)

A(2*k-1)=a(2*i-1)
Next i
List2. AddItem"第1名:学号+CStr(a(2))+",分数"+str(a(3))
A(1)=1
mc=1
For j=2 To n

If      Then mc=i

List2. AddItem"第"+Str(mc)+"名:学号"+CStr(a(3*i-1))+",分数"十Str(a(3*i))a(3*i-2)=mc

Next i

End sub
(1)已知窗体名称为Form1,要使程序加载时,窗体标题自动显示为“第15题程序”,则可在_____________(单选,填字母)事件过程中添加代码: Form1. Caption=“第15题程序”。
A.Form_ Click()B.Form_ Load()C.Form1_ Click()D.Forml_ Load()
(2)程序加框处的For循环语句有错,请改正。
(3)请将程序②③④划线处代码补充完整。
上一题 下一题 0.99难度 None 更新时间:2020-03-30 10:40:31

答案(点此获取答案解析)

同类题1

小明利用所学的信息技术知识帮助语文老师设计一个语文学考等级查询系统,要求如下:输入某个等级,就能查出该等级的所有学生学号和姓名,并统计出该等级学生的人数,以便语文老师方便了解学生的学考情况。语文学考成绩分A、B、C、D、E五个等级,学生信息存储在数据库文件“stugrade.accdb”的数据表“Chinese”中,数据表“Chinese”的结构如图所示。


VB程序运行界面如题图所示,在文本框Text1中输入查询的等级,单击“查询”按钮Command1,在列表框List1中显示所有该等级的学生学号和姓名,并按照学号从小到大排序,并在标签Label2处显示学生的人数,如果人数为0,则在列表框中显示“没有该等级的学生”。按此要求编写程序如下,在下划线处填上合适的代码。
Private Sub Command1_Click()
Dim stuna(1 To 100) As String '存放学生姓名的数组定义为stuna
Dim stunum(1 To 100) As String '存放学生学号的数组定义为stunum
Dim i As Integer, j As Integer, n As Integer
Dim t As String
Dim cn As New ADODB.Connection '连接数据库
Dim rs As New ADODB.Recordset
Dim strSQL As String
cn.ConnectionString = "Provider="Microsoft.ACE.OLEDB.12.0;Data" Source=" + App.Path + "\stugrade.accdb "
cn.Open
strSQL = "select * from      where 语文等级='" + Text1.Text + "'"
Set rs.ActiveConnection = cn
rs.Open strSQL
n = 0
Do While Not rs.EOF

stuna(n) = rs.Fields("姓名").Value
stunum(n) = rs.Fields("学号").Value
rs.MoveNext
Loop
rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing
List1.Clear '清除列表框
If n =" 0" Then
List1.AddItem "没有该等级的学生"
Else
For i =" 1" To n - 1 '按姓名排序
For j =" n" To        Step -1
If  Then :学。科。网Z。X。X。K
t =" stunum(j):" stunum(j) =" stunum(j" - 1): stunum(j - 1) = t
t =" stuna(j):" stuna(j) =" stuna(j" - 1): stuna(j - 1) = t
End If
Next j
Next i
For i =" 1" To n
List1.AddItem stunum(i) + "  " + stuna(i)
Next i
Label2.Caption = "该等级的学生共有" + Str(n) + "名"
End If
End Sub
(1)       
(2)       
(3)       
(4)