题型:综合题 题类:常考题 难易度:困难
浙江省台州市黄岩第二高级中学2017-2018学年高二下学期信息技术期中考试试卷
以下程序实现了冒泡排序的优化,请在划线处填写合适的代码。
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
排序前 |
86 |
71 |
5 |
41 |
81 |
79 |
37 |
89 |
排序后 |
5 |
37 |
41 |
71 |
79 |
89 |
86 |
81 |
实现上述功能的VB程序如下,但加框处代码有错,请改正。
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
‘(1)
If IsPrime(a(k))Then flag=True Else flag=False
For j=i+1 To n
If IsPrime(a(i))Then
If Then ‘(2)
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
试题篮