For i = 1 To 3
For j = i To 9
If a(j) > a(j-1) Then
t = a(j): a(j) = a(j-1): a(j-1) = t
End If
Next j
Next i
数组元素a(0)到a(9)的值依次为“25,64,15,40,74,80,27,65,84,53”。若该程序执行后得到的结果是
A.64 74 80 40 65 84 53 27 25 15 |
B.64 40 80 74 65 84 53 27 25 15 |
C.64 25 15 40 74 80 27 65 84 53 |
D.84 80 74 65 64 53 40 27 25 15 |
A.2,3,6,9,7 | B.9,6,3,7,2 | C.9,7,3,6,2 | D.9,7,6,3,2 |

小赵这此编写了 VB 程序,功能如下:在文本框 Text1 中输入参赛队伍数 n,单击“编排”按钮 Command1,在列表框 List1 中输出每轮比赛秩序。程序运行效果如图 b 所示。

实现上述功能的 V B代码如下,请将程序代码补充完整。
Private Sub Command1_Click()
Dim team(1 To 20) As String
Dim n As Integer, c As Integer
Dim result As String
Dim i As Integer, j As Integer, temp As String
n=Val(Text1.Text)
For i=1 To n
team(i)=Str(i)
Next i
c=n+n Mod 2
If c<>n Then team(c)=Str(0)
For i=1 To c-1
result=""
For j=1 To c\2
result=result&team(j)&"-"&______________&";" ‘(1)
Next j
List1.AddItem "第"&Str(i)&"轮"&result
temp=team(c)
For j=c To 2 Step -1
_________________ ‘(2)
Next j
_________________ ‘(3)
Next iEnd Sub

以下程序实现了冒泡排序的优化,请在划线处填写合适的代码。
Dim n As Integer
Dim a (1 to 100) As Integer
Private Sub Form_Load()
‘n=10,排序前生成的数据存储在数组a中,并在列表框List1中显示
‘代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer, start As Integer, t As Integer
①_________________
Do While i < n
start = n
For j = n To i Step ②_______________
If a(j) < a(j - 1) Then
t = a(j): ③____________ : a(j - 1) = t
start = j
End If
Next j
④______________
Loop
For i = 1 To n
List2.AddItem Str(a(i))
Next i
End Sub


实现上述功能的VB程序如下,代码加框处有错,请改正。
划线①处代码应改为:___________________
划线②处代码应改为:____________
Dim a(1 to 10) As Integer ‘存储原始数据
Dim b(1 to 10)As Integer ‘存放名次
Private Sub Command1_Click()
Dim i As Integer,j As Integer, n As Integer
For i=1 To 10
n=0
For j=1 To 10
If If a(i)<=a(j) Then n=n+1 ‘①
b(i)=n ‘②
Next j
Next i
For i= 1 to 10
List2.Additem a(i)&” ”&b(i)
Next i
End Sub
Private Sub Form_Load()
‘随机产生10个[60,100]之间的随机数,并显示在List1中,代码略。
End Sub
实现上述功能的VB程序如下,但加框处代码有错,请改正。
Const n = 50
Dim d(0 To n) As single , name(1 to n) as string
'读入50个学生的身高,依次存入d(1)…d(50), 最高身高小于2,姓名存入name(1)…name(50)
'代码略
Private Sub Command1_Click()
Dim i As Integer, j As Integer, temp As single, k As Integer,r as string
d(0) = 2
For i = 1 To 10
For j = i To n
If d(j) < d(i - 1) Then
If Then
k = j
End If
End If
Next j
If k <> i Then
temp = d(k): d(k) = d(i): d(i) = temp
r=name(k) : name(k)=name(i) : name(i)=r
End If
Next i
For i = 1 To 10 ‘输出被选的10个人的名字和身高。
List2.AddItem name(i) & d(i)
Next i
End Sub排序前 | 75 | 78 | 60 | 86 | 61 | 75 | 36 | 88 |
排序后 | 88 | 86 | 78 | 60 | 36 | 75 | 61 | 75 |
程序运行界面如下图所示。
实现上述功能的 VB 程序如下,但加框处代码有错,请改正。
Const n = 8
Dim a(1 To n) As Integer Private Sub Form_Load()
'排序前数据存储在数组 a 中,并在文本框 Text1 中显示代码略 End Sub
Private Sub Command1_Click()
Dim k As Integer, i As Integer, j As Integer, t As Integer
i = 1
Do While i <= n - 1
k = i
For j = i + 1 To n

k = j
ElseIf a(k) Mod 2 = 0 And a(j) Mod 2 = 0 And a(j) > a(k) Then
k = j
End If
Next j
If k <> i Then
t = a(k): a(k) = a(i): a(i) = t
End If

Loop
'依次输出排序后的数据。代码略 End Sub
For i = 1 To (1)
For j = (2) To i + 1 Step -1
If d(j) <d(j - 1) Then
t = d(j): d(j) = d(j - 1): d(j - 1) = tEnd If
Next jFor j = i + 1 To (3)
If d(j) <d(j + 1) Then
t = d(j): d(j) = d(j + 1): d(j + 1) = tEnd If
Next jNext i
方框中的代码由以下三部分组成:
① n - i + 1 ②n \ 2 ③n - i
代码顺序正确的选项是
A.②①③ | B.①②③ | C.②③① | D.③②① |
d[1] | d[2] | d[3] | d[4] | d[5] | d[6] | d[7] | d[8] |
90 | 84 | 85 | 72 | 80 | 71 | 66 | 70 |
A.d[2]与d[3] | B.d[2]与d[1] | C.d[2]与d[8] | D.d[2]与d[7] |
a(1) | a(2) | a(3) | …… | a(n-2) | a(n-1) | a(n) |
1 | 4 | 7 | …… | 8 | 6 | 2 |
实现该功能的VB程序如下,但加框处代码有错,请改正。
Constn=10
Dima(1 To n) As Integer
Private Sub Form_Load()
‘随机产生n个不重复的整数存数组a,并在列表框listl中显示。代码略。
End Sub
Private Sub Command1_Click()
Dim i As Integer,j As Integer,t As Integer
Dim i minl As Integer,imin2 As Integer
For i=1 To n\2
Imin l=i:imin2=i+1If a(iminl)>a(imin2) Then t=iminl:iminl=imin2:imin2=t
For j=i+2 To n-i+1
If a(j)<a(imin1) Then
imin2=iminl;iminl=j

imin 2=j
End If
Next j
If i◇imin 1 Then t=a(i):a(i)=a(imin1):a(imin1)=t
If imin 2=i Then

If n-i+1◇imin2 Then t=a(n-i+1):a(n-i+1)=a(imin2):a(imin2)=t
Next i
For i=1 To n
Text2.Text=Text2.Text+Str(a(i))Next i
End Sub