刷题首页
题库
高中信息
题干
下列VB程序段功能为:根据数组a中各元素的大小关系,计算各元素升序排列的序号,并将序号保行值效组b中。如数组a各元素为20、40、10、30,b(1)~b(4)各元素的值分别为"1、2、3、4",程序运行后b(1)~b(4)各元素的值分别为"2,4,1,3"。
上述程序段3个方框处的代码分别为
A.(1)b(i)=1 (2)a(j)<a(k) (3)t=a(k):a(k)=a(i):a(i)=t
B.(1)b(i)=1 (2)a(b(j))<a(b(k)) (3)t=a(k):a(k)=a(i):a(i)=t
C.(1)b(i)=i (2)a(j)<a(k) (3)t=b(k):b(k)=b(i):b(i)=t
D.(1)b(i)=i (2)a(b(j))<a(b(k)) (3)t=b(k):b(k)=b(i):b(i)=t
上一题
下一题
0.99难度 选择题 更新时间:2019-11-19 07:47:46
答案(点此获取答案解析)
同类题1
(加试题)数组a中存储的n个正整数满足如下条件:奇数位上的数降序有序,偶数位上的数升序有序,且所有奇数位上的数都大于偶数位上的数,如下表所示:
a(1)
a(2)
a(3)
a(4)
a(5)
a(6)
a(7)
a(8)
a(9)
a(10)
100
10
90
20
80
30
70
40
60
50
依据对分查找思想,设计一个在数组a中查找数据key的程序。实现该功能的VB程序如下,但加框处代码有错,请改正。
读取一组正整数,按照上述规则存入数组a中,代码略。
改错:(1)______________ (2)______________
同类题2
在VB中,下列函数返回值最大的是( )
A.Sqr(9)
B.Abs(-3.2)
C.int(3.2)
D.Len("3.2")
同类题3
(加试题)有以下 VB 程序段
For i = 1 To 2
For j = 1 To 4-i
If d(j) > d(j +1)Then
t = d(j):d(j) = d(j +1):d(j +1) = t
End If
Next j
Next i
数组元素 a(1)到 a(5)的值依次为“51,36,78,18,15”,经过该程序段“加工”后,数组元素
a(1)到 a(5)的值依次为( )
A.36,18, 51,78,15
B.36,18,15,51,78
C.15,18,36,51,78
D.36, 51,18,78,15
同类题4
采用冒泡排序将六个数“22,14,18,17,21,16”从小到大进行排序,则第二轮交换数据后的顺序是( )
A.14,22,16,18,17,21
B.14,16,18,17,21,22
C.14,16,22,17,18,21
D.14,22,16,17,18,21
同类题5
下列VB程序的功能是:程序运行时,单击命令按钮Commandl后,产生10个1,999范围内互不相同的随机整数,依次显示在列表框List1中,然后将它们按从小到大的顺序排序,排序结果显示在列表框List2中。数组a用于存储产生的10个随机整数,函数f(x)用于判断随机整数x与已生成的整数是否有重复,若有重复则返回True,否则返回False。
(1)虚线框内程序段所采用的排序算法名称是
。(填:冒泡排序/选择排序)
(2)在程序(1)和(2)划线处,填入适当的语句或表达式,把程序补充完整。
Dim a(1 To 10) As Integer
Function f(x As Integer) As Boolean ′代码略
End Function
Private Sub Commandl_Click()
Dim n As Integer ′n用于统计已经产生的随机整数个数
Dim i As Integer.j As Integer
Dim x As Integer.k As Integer
Randomize ′初始化Rnd函数
n=0
List1.Clear ′清除列表框中内容
List2.Clear
Do While n<10
x=Int(Rnd*999)+1 ′产生1,999范围内的随机整数
If Not f(x) Then
n=n+1
a(n)="x"
List1.AddItem Str(
(1)
)
End If
Loop
For i="1" To 9 ′进行排序
For j="10" To i+1
(2)
If a(j)<a(j-1) Then
k=a(j):a(j)=a(j-1):a(j-1)=k
End If
Next j
Next i
For i="1" To 10
List2.AddItem Str(a(i))
Next i
End Sub
相关知识点
算法理论
算法实例的程序实现
排序算法及程序实现