某学校高一年级共有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