题库 高中信息

题干

用选择排序将七个数“2022,2017,2018,2014,2021,2012,2015”从小到大进行排序,则第二轮交换数据后的顺序是(  )
A.2022,2021,2018,2017,2014,2012,2015B.2012,2014,2018,2017,2021,2022,2015
C.2012,2017,2018,2014,2021,2022,2015D.2022,2021,2018,2014,2017,2012,2015
上一题 下一题 0.99难度 选择题 更新时间:2015-08-20 08:20:55

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

同类题3

数组 a 存储降序排列的 m 个数据,数组 b 中存储的是升序排列的 n 个数据,且两个数组中存储的数据为区间1,20范围内的不重复的随机整数。现将两个数组的数据合并到 c 数组中,使 c 数组的数据为左右交替上升,如下表所示:

当窗体 Form1 加载时,自动产生 a、b 数组的数据,并分别显示在列表框 List1 与 List2
中,单击合并按钮 Command1 后,在 c 数组中保存按规则合并后的 a、b 数组的数据,并显示在列表框 List3 中。程序截图如下所示:

实现该功能的 VB 程序如下:
Const m = 5
Const n = 6
Dim a(1 To m) As Integer
Dim b(1 To n) As Integer
Dim c(1 To m + n) As Integer
‘窗体加载时,生成数组 a、b 中的数据,并按要求排序后显示在列表框中,代码略
Private Sub Command1_Click()
Dim pa As Integer, pb As Integer, pc As Integer, s As Integer, flag As Boolean
pa = m: pb = 1: pc = 1
flag = True
Do While ____________________  
If a(pa) < b(pb) Then

s = a(pa)

pa = pa - 1

Else

s = b(pb)

pb = pb + 1

End If
c(pc) = s
If flag Then

pc = m + n - pc + 1

Else

pc =  

End If
__________________________
Loop
‘处理 a、b 数组中剩余数据,并在列表框 List3 中输出数组 c,代码略
End Sub
(1)窗体加载的事件处理过程名为__________。(填字母:
A.Form1_Click /B.Form_Click /
C.Form1_Load /D.Form_load)
(2)加框处代码有错,请改正。 __________
(3)在划线处填入合适的代码。

同类题4

(加试题)某活动要从 100 名参赛者中选出成绩最高的前十名给予一定的奖励。活动组织者编写了如下程序,功能是根据成绩进行排序,程序中数组 a 保存所有参赛者的组次,数组 b 保存对应的成绩,如第 1 位参赛者的组次 1 保存在 a(1)中,成绩保存在 b(1)中。程序界面如图所示,左边列表框 List1 中显示原始数据(序号和相应的成绩),单击“排序”按钮(Command1),排序后的结果按成绩从高到低显示前 10 名选手的序号和成绩在列表框 List2 中,若最后一名成绩有相同的也一起输出。界面如下图所示:

实现上述功能的 VB 程序如下,但划线处代码有错,请改正。
Const n=100
Dim a(1 To n) As Integer
Dim b(1 To n) As Integer
Private Sub Form_Load()    '窗体被加载时
‘获取原始数据,将参赛者序号和最后得分分别存在数组 a 和数组 b 内,并在列表框 List1 中显示。代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer, k As Integer, temp As Integer
List2.Clear
For i = 1 To 10 k = i
For j = 10 To i+1   ‘________
If b(k) < b(j) Then k = j
End If
Next j
If k <> i Then
temp = b(i): b(i) = b(k): b(k) = temp temp = a(i): a(i) = a(k): a(k) = temp
End If
List2.AddItem Str(a(i)) + "    " + Str(b(i)) Next i
m = 10
For i = 11 To n
If   b(i) = b(i-1)    then    ‘________
m = m + 1
List2.AddItem Str(a(i)) + "    " + Str(b(i)) End If
Next i
Label3.Caption = "本次十佳歌手一共有" + Str(m) + "组"
End Sub

同类题5

数组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)请将程序②③④划线处代码补充完整。