题型:综合题 题类:常考题 难易度:普通
【bj】高中信息技术综合库——排序算法及程序实现1
实现上述功能的VB代码如下,请在横线处填入合适代码。
Dim n As Integer '存储随机数的个数
Dim f(1To100)As Boolean
'f(i)为True时表示随机整数i已经产生过
Dim a(1 To 100)As Integer
'依次存放升序排序后的n个随机数
Private Sub Command1_Click()
'命令按钮“产生随机数并升序排列”的单击事件
Dim i As Integer
Randomize
For i=1 To 100
f(i)=False
Next i
n=Val(Text1. Text)
For i=1 To n
t=Int(Rnd * 100+1)
Do While f(t)=True
t=Int(Rnd * 100+1)
Loop
Next i
j=0
For i=1 To 100 '实现排序并输出
If f(i)=True Then
a(j)=i
List1.AddItem Str(i)
End If
Next i
End Sub
Private Sub Command2_Click()
'命令按钮“查找”的单击事件
Dim key As Integer
key=Val(Text2. Text)
If key <=a(1) Then Label3. Caption=Str(a(1)): Exit Sub
If key >=a(n) Then Label3. Caption=Str(a( n)): Exit Sub
L=1: R=n
Do While L<=R '找到与 key 较为接近的两个数a(R)和a(L)
m=(L+R)\2
If key<=a(m)Then
R=m-1
Else
L=m+1
End If
Loop
If Then
'在a(R)和 a(L)中选出更接近key的数
Label3. Caption=Str(a(R))
Else
Label3. Caption=Str(a L))
End If
End Sub
试题篮