学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.40
所属科目:高中信息技术
对某次技术考试后的学生成绩进行排序。学生信息包含学号、班级和成绩。排序要求:主要关键字“班级”升序;次要关键字“成绩”降序。

小陈按上述要求编写了一个VB程序,功能如下:程序运行时,在列表框List1中显示排序前数据,单击“排序”按钮Command1,在列表框List2中显示排序结果。程序运行界面如图所示。请回答下列问题:



(1)将数组元素tmp2(1)到tmp2(200)分为4段,如果每段恰好包含50个元素,采用冒泡排序分别对每段中的元素进行排序,整个排序过程中,数组元素之间的比较次数是________(单选,填字母)。

A.4×4×3/2 次 / B.4×50×49/2 次 / C.200×199/2 次


(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。

Const n = 200      ’学生数

Const m = 4        ’班级数

Dim xh(1 To n) As String, tmp1(1 To n) As String

Dim score(1 To n) As Integer, tmp2(1 To n) As Integer

Dim class(1 To n) As Integer, tmp3(1 To n) As Integer

Private Sub Form_Load()

’读取学生的学号、班级和成绩数据分别存储在数组xh,class和score中并在List1中显示

’代码略

End Sub

Private Sub Command1_Click()

Dim i As Integer, j As Integer, k As Integer

Dim t3 As Integer, t2 As Integer, t1 As String


      Dim c(0 To m + 1) As Integer
      For i = 0 To m + 1
          c(i) = 0
      Next i

For i = 1 To n


          ________        
          c(k) = c(k) + 1
      Next i

For i = 1 To m


          c(i) = c(i) + c(i - 1)
      Next i
      For i = n To 1 Step -1
          k = class(i)
          tmp1(c(k)) = xh(i)
          tmp2(c(k)) = score(i)
          tmp3(c(k)) = class(i)

________        


      Next i
      c(m + 1) = n

For k = 1 To m          ’对每一个班的学生成绩进行排序

For i = c(k) + 1 To c(k + 1) - 1

For j = c(k + 1) To i + 1 Step -1

     If ________         Then

        t1 = tmp1(j): tmp1(j) = tmp1(j-1): tmp1(j-1) = t1

        t2 = tmp2(j): tmp2(j) = tmp2(j-1): tmp2(j-1) = t2

t3 = tmp3(j): tmp3(j) = tmp3(j-1): tmp3(j-1) = t3

         End If

Next j

Next i

Next k

’在List2中按统一格式输出排序后数据,代码略

End Sub

编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交