试题 试卷
题型:单选题 题类:模拟题 难易度:普通
浙江省绍兴市上虞区2020届高三下学期信息技术第二次教学质量调测卷
为此,编写了一个 VB 程序,功能如下:运行程序,窗体加载时随机产生 10 个随机整数,并在列表框 List1 中依次显示排序前数据,单击“排序”按钮 Command1,在列表框 List2 中
显示经过上述排序算法后的数据,运行结果如图 b 所示。实现上述功能的 VB 代码如下,但加框处代码有错,请改正。
Const n = 10
Dim a(1 To n) As Integer '生成 n 个随机数,存储在 a 数组,代码略
Private Sub Command1_Click()
Dim i As Integer, j As Integer, t As Integer
For i = 2 To n
t = a(i) : j = i - 1
Do While t < a(j)
a(j + 1) = a(j) j = j – 1
If Then Exit Do ①
Loop
②
Next i
For i = 1 To n
List2.AddItem Str(a(i))
End Sub
①{#blank#}1{#/blank#} ②{#blank#}2{#/blank#}
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
数组元素a(1)到a(5)的值依次为“33,24,,4,16,77”,经过该程序段“加工”后,数组元素a(1)到a(5)的值依次为( )
a(1) = "231": a(2) = "34": a(3) = "23": a(4) = "234": a(5) = "123"
For i = 1 To 4
For j = 1 To 5 - i
If a(j) > a(j + 1) Then t = a(j): a(j) = a(j + 1): a(j + 1) = t
Next j Next i
执行该程序段后,数组元素 a(1)到 a(5)的数据依次为( )
实现上述功能的VB程序如下:
待排序数据已存储在数组a中(a(1)~a(n))
For i= 1 To n-2
k= i
For j= ‘①
If a(j)>a(k) Then k =j
If k<>i Then t= a(i): a(i)= a(k): a(k)=t
For i= 1 To n\ 2
j=2*i-1
If a(j)< a(j+ 1) Then t= a(): a()=a(j+ 1): a(j+1)=t
For i= ‘②
t= a(i):j-i
Do While t> a(j)
a(j+1)=a():j=j
‘③
上述程序段中3处方框处的代码分别为( )
Dim d(1 To n) As Integer, pm(1 To n) As Integer
Private Sub Form_Load()
'代码略,本过程功能:产生10个随机整数存数组d中,并在列表框list1 中显示。
Dim i As Integer, j As Integer, k As Integer, t As Integer
i = 1
Do While i <= n - 1
k = i
For j = i + 1 To n
If Then k = j ‘①
If i <> k Then t = d(i): d(i) = d(k): d(k) = t
i = i + 1
pm(1) = 1
If Then ‘②
pm(i) = i
Else
pm(i) = pm(i - 1)
List2.AddItem Str(i) +" " +Str(d(i)) + " " + "第" + Str(pm(i)) + "名"
Next I
试题篮