题库 高中信息

题干

下列 VB 程序段的功能为:对数组 a 中的 n 个元素进行排序,生成左右交替上升的数据系列。如排序前 a 中元素依次为:21,33,56,11,44,60,程序运行后  a 中元素依次为:11,33,56,60,44,21。
For i=1 To    ①     
k=i
For j=i+1 To n-i+1
If a(k)>a(j) Then k=   ②     
Next j
If k<>i Then t=a(k):a(k)=a(i):a(i)=t  For j=    ③     
If a(j)<a(j+1) Then    a(j)=a(j)+a(j+1) : a(j+1)=a(j)-a(j+1):a(j)=a(j)-a(j+1) Next j
Next i
上述程序段 3 个划线处的表达式分别为(   )
A.①   n-1    ②    j+1    ③   i To n-i+1
B.①   n-1    ②    j+1    ③   i To n-i
C.①   n\2    ②    j    ③   i+1 To n-i
D.①   n\2    ②    j    ③   i+1 To n-i+1
上一题 下一题 0.99难度 选择题 更新时间:2019-11-20 12:46: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