某学校高一年级共有500名学生,10个班,现需要根据某次考试的技术成绩从高到低进行考试号编排,考试号从100开始,如出现成绩一样的情况,则考试号按学生学号从大到小编排,如图所示。为此,小王编写了一个VB程序,程序功能如下:单击“读取数据”按钮 Command1,程序从数据库中读取学生的学号、成绩分别存储在数组xh、cj中,并在列表框List1输出;单击“编排”按钮Command2,程序进行处理,输出结果在列表框List2中。程序运行界面如图所示。
实现以上功能的VB程序如下,请回答下列问题:
(1)如原始数据里漏输了一个学生,已知该学生的学号为“20170240”,成绩为“99”,则增加该学生数据后,运行程序时,该学生的考试号为________。
(2)请在画线处填入合适的代码。
Const n=500
Dim xh(1 To n) As Integer    '存放学生学号
Dim cj(1 To n) As Integer    '存放学生成绩
Dim I,d,k,t,y As Integer
Private Sub Command1 Click()
'本过程从数据库中读取学生数据,存储在相应的变量中,并在List1中显示
'代码略
End Sub
Private Sub Command2_Click()
For i=1 To n-1

For j=n To i+1 Step-1

If c(j)>cj(j-1) Then
t=ci(j):cj(j)=cj(j-1):cj(j-1)=t
t=xh(j):xh(j)=xh(j-1):xh(j-1)=t
End If

 

Next j

Next i
k=1
For i=2 To n

If______Then

k=k+1
y=0

Else

y=1

End If

If (y=l And k> 1) Or (i=n And k> 1) Then

For d=i-k To i-2
For______To(i-k+1) Step-1
If xh(j)>xh(j-1) Then
t=xh(j):xh(i)=xh(j-1):xh(j-1)=t
End If
Next j
Next d
k=1

End If

Next i
List2.Clear
List2.AddItem " "+"学号"+"  "+"技术成绩"+"  "+"考试号"
For i=1 To n
List2.AddItem Str(xh(i))+"  "+Str(cj(i))+"  "+_____
Next i
End Sub
当前题号:1 | 题型:None | 难度:0.99
数组a和数组b中元素的个数分别为n1和n2,现在从a,b两个数组中选取最小的n1个数据并按升序排列保存到a数组中。示例1:a={1},b={5,3},则a={1};示例2:a={3,1},b={2,4},则a={1,2}。实现上述功能的VB程序段如下:
Private Sub Form _ Load( )
′数组a,b存储整数,代码略
End sub
Private Sub Command1_Click( )
Dim i As Integer,j As Integer, k As Integer, t As Integer, flag As Boolean
flag- True
For i=1To
j=n2
 

  If b(j)< b(j-1) Then t=b(j: b(j)=b(j-1): b(j-1)=t

  j=j-1

  Loop
k=i
For j=n1Toi+1Step-1

If a(j)<a(k) then k-j

Next j
If a(k)<= b(1) And k <> i Then

t=a(k):a(k)=a(i): a(i)=t

flag=False

Elself Then

t=a(i):a(i)=b(1):b(1)=t

flag=True

End If
Next i
For i=1 To nl
Listl AddItem Str(a(i))
Next i
End sub
请回答问题:
(1)要使程序运行时,清空列表框List1的内容,可在 Form Load事件过程中添加语句:_____(单选,填字母:
A.List1.Caption=""/B.List1.Clear/C.List1. Additem"")。
(2)请将程序代码①②处补充完整。
①_______________________
②_______________________
(3)程序代码方框处,flag为_______时,表示b数组该遍加工需要进行_______排序(选填:冒泡/选择)。
当前题号:2 | 题型:None | 难度:0.99
有如下VB程序段:
a(1)=91:a(2)=5:a(3)=65:a(4)=8;a(5)=78:a(6)=13:a(7)=29:a(8)=18
For i=2 To 5

tmp= a(i)

L=1

R=i-1

Do While l<= R

M= Fix(L+ R)/2)
If tmp <=a(M) Then R= M-1 E lse L= M+1

Loop

j=i-1

Do While j>=L

a(j+1)=a(j)
j=j-1

Loop

a (L)= tmp

Next i
执行上述代码后,数组a中的元素分别是(   )
A.5 8 13 18 29 65 78 91B.5 8 65 78 91 13 29 18
C.91 78 65 29 18 13 8 5D.91 78 65 8 5 13 29 18
当前题号:3 | 题型:选择题 | 难度:0.99
数组a中存放着1到20的正整数,要求对其中的元素进行分段排序,在Text2中输入每段元素的个数,在文本框Text3中显示每段降序排序后的数据,其中多余的元素不做处理。具体程序实现如图所示。

实现该功能的VB程序代码如下,请在划线处填入合适代码。
Dim a(0 To 100) As Integer
Const high = 16
Private Sub Form_Load()
Randomize
For i = 1 To high
a(i) = Int(Rnd * 20) + 1
Text1.Text = Text1.Text + Str(a(i))
Next i
End Sub
Private Sub Command1_Click()
Dim p As Integer, q As Integer, t As Integer
Dim m As Integer, n As Integer, k As Integer
m = Val(Text2.Text)
For i = 1 To ________
c = ""
For j = 1 To m
p =________
q = i * m
k = sort(p, q)
If a(k) <> a(p) Then
t = a(p): a(p) = a(k): a(k) = t
End If
c = ________
Next j
Text3.Text = Text3.Text + " " + c
Next i
End Sub
Function sort(f As Integer, g As Integer) As Integer
s = f
For i = f To g
If a(i) > a(s) Then
s = i
End If
Next i
sort = s
End Function
当前题号:4 | 题型:None | 难度:0.99
有如下程序段:
For i = 1 To 2

For j = 5 To i + 1 Step -1

If a(j) > a(i) Then

t = a(j): a(j) = a(i): a(i) = t

End If

Next j
Next i
数组元素a(1)到a(5)的值依次为“33,24,45, ,16,77”,经过该程序段“加工”后,数组元素a(1)到a(5)的值依次为(   )
A.77, 45, 33, 16, 24
B.77, 33, 45, 16, 24
C.77, 24, 45, 16, 33
D.77, 45, 33, 24, 16
当前题号:5 | 题型:选择题 | 难度:0.99
小吴为了研究冒泡排序过程中数据的“移动”情况,编写了一个VB程序,功能如下:在列表框list1中显示排序前数据(存储在数组a中),在文本框text1中输入初始位置(即下标值),单击“排序”按钮command1后,在标签label1中显示指定初始位置的数据在排序过程中的位置变化情况,排序后的数据显示在列表框list2中。程序运行界面如图所示。
实现上述功能的VB程序如下,但加框处代码有错,请改正。

Dim a(1 To 8) As Integer
Dim n As Integer
Private Sub Form_Load()

a(1) = 30: a(2) = 47: a(3) = 30: a(4) = 72

a(5) = 70: a(6) = 23: a(7) = 99: a(8) = 24

n = 8

For i = 1 To 8

List1.AddItem a(i)

Next i

End Sub
Private Sub Command1_Click()

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

Dim pos As Integer

Dim s As String

s = Text1.Text

pos = Val(Text1.Text)

For i = 1 To n – 1

For j = n To i + 1 Step -1
If a(j) < a(j - 1) Then

   _____________

a(j - 1) = a(j)

a(j) = k
'如果pos位置的数据参与交换,则更新pos值,记录pos变化位置
If pos = j Then
pos = j - 1
s = s + "→" + Str(pos)
_________
pos = j
s = s + "→" + Str(pos)
End If
End If
Next j

Next i

Label1.Caption = "位置变化情况:" + s

For i = 1 To n

List2.AddItem Str(a(i))

Next i

End Sub
当前题号:6 | 题型:填空题 | 难度:0.99
有一组正整数,要求供对其中的素数进行升序排序。排序后素数在前,非素数在后。排序示例如下。
排序前
86
71
5
41
81
79
37
89
排序后
5
37
41
71
79
89
86
81
 
Const n = 8
Dim a(1 To n) As Integer
Private Sub Command1_Click()

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

Dim flag As Boolean

'读取一组正整数,存储在数组a中,代码略

For i = 1 To n – 1

 _____________

   If IsPrime(a(k)) Then flag = True Else flag = False

For j = i + 1 To n
If IsPime(a(j)) Then
If   Then ______________
k = j
flag = True
End If

End If

Next j

If k <> i Then

t = a(k): a(k) = a(i): a(i) = t

End If

If Not flag Then Exit For  'Exit For表示退出循环

Next i

'依次输出排序后的数据。代码略

End Sub
Function IsPrime(m As Integer) As Boolean
'本函数判断m是否是素数:是素数返回值为True,不是素数返回值为False
'代码略
End Function
当前题号:7 | 题型:填空题 | 难度:0.99
有8个西瓜的重量(单位:斤)分别是5.2,4.5,4.1,3.5,8.3,7.4,3.8,7.5。若采用选择排序算法对其进行从小到大排序,共需交换数据的次数是(  )
A.4B.5C.6 D.7
当前题号:8 | 题型:选择题 | 难度:0.99
下列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
当前题号:9 | 题型:填空题 | 难度:0.99
下表记录了6个数据的排序过程。分析表中数据可知,该排序采用的算法与排序方式分别为( )
原始数据
65
57
59
44
45
69
第1遍
44
65
57
59
45
69
第2遍
44
45
55
57
59
69
第3遍
44
45
57
65
59
69







 
A.冒泡排序,升序B.选择排序,升序
C.冒泡排序,降序D.选择排序,降序
当前题号:10 | 题型:选择题 | 难度:0.99