题库 高中信息

题干

在Excel中进行数据排序,先按主关键字进行排序,主关键字相同的记录再按次关键字进行排序。编写一个VB程序,功能如下:在文本框Text1中随机产生100个两位数的正整数作为主关键字,在文本框Text2中随机产生100个两位数的正整数作为次关键字,单击“排序”按钮Command1,在列表框List1中显示排序后的结果(主、次关键字均为降序)。程序运行界面如图所示。

(1)观察代码,该排序过程中,交换次数最多能达到______________次。
(2)实现上述功能的VB程序如下,请在划线处填入正确语句。
Dim z(1 To 100) As Integer
Dim c(1 To 100) As Integer
‘文本框获取主、次数组数据代码略
Private Sub Command1_Click()

Dim i As Integer, j As Integer

i = 1

Do While i <= 99

j = 100

Do While  ①_______

If z(j) > z(j - 1) Or ②_____________Then

t = z(j): z(j) = z(j - 1): z(j - 1) = t

t = c(j): c(j) = c(j - 1): c(j - 1) = t

End If

j = j - 1

Loop

③________

Loop

List1.AddItem " " + "主" + " " + "次"

For i = 1 To 100

List1.AddItem Str(z(i)) + Str(c(i))

Next i

End Sub
上一题 下一题 0.99难度 填空题 更新时间:2019-06-15 10:30:01

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

同类题4

某省举办大型活动,面向省内城市招募有志愿服务工作经历的志愿者,每个志愿者的报名数据包含城市序号、姓名(字母缩写)和参加志愿服务的次数。现需整理报名数据,要求是:先按城市序号从小到大排列;然后,同一城市的志愿者按参加志愿服务的次数从多到少排列。
按上述要求,编写一个VB程序,功能如下:在列表框List 1中显示整理前的数据,单击“整理”按钮Command 1,整理结果显示在列表框List 2中,程序运行界面如图所示。

(1)将数组元素q(1)到q(200)分为10段,如果每段恰好包含20个元素,采用选择排序算法分别对每段中的元素进行排序,整个排序过程中,数组元素之间的比较次数是________(单选,填字母:
A.次/B.次/C.次)。
(2)请在划线处填入合适的代码。
    报名总人数
城市数
,,
 存储每个城市的报名人数


Private Sub Form_Load()
本过程读取城市序号,姓名和参加次数的数据分别存储在数组city;pname和times中,
并在List 1中显示,代码略
End Sub
Private Sub Command 1_Click()
Dim i As Integer,j As Integer,k As Integer,t As Integer,pos As Integer


Next i
   统计每个城市报名人数
 ①

Next i




Next i


  ②

Next i

  对各城市报名数据按参加志愿服务的次数进行排序



Next j

Next i

List 2.AddItem " " & city(q(i))& " " & pname(q(i))& " " & times(q(i))
Next i
End Sub
Function fp(head As Integer,tail As Integer)As Integer
Dim i As Integer,k As Integer

  ③ 

Next i

End Function