学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.40
所属科目:高中信息技术
编写一个查找最接近的数的VB程序:程序运行时,在文本框Text1中输入产生随机数的个数(1到100之间),单击命令按钮"产生随机数并升序排列"后,在列表框Listl中显示已经按升序排列后的随机整数,然后在文本框Text2中输入要查找的整数,单击命令按钮"查找"后,在标签Label3中显示随机整数序列中与待查找数最接近的整数(当最接近的数有2个时,输出较大的一个).程序运行效果如图所示.

实现上述功能的VB代码如下,请在横线处填入合适代码.
Dim n As Integer'存储随机数的个数
Dim f(1To100)As Boolean
'f(i)为True时表示随机整数i已经产生过
Dim a(1 To 100)As Integer
'依次存放升序排序后的n个随机数
Private Sub Commandl_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
(1)________________

Next i

j=0

For i=1 To 100 '实现排序并输出

If f(i)=True Then
(2)________________
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(3)____________Then

'在a(R)和a(L)中选出更接近key的数

Label3. Caption=Str(a(R))

Else

Label3. Caption=Str(a L))

End If

End Sub
编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交