题库 高中信息

题干

编写VB程序,实现在1到40中随机抽取n个不重复的数字。在文本框Text1中输入需要抽取的个数n,单击“抽取”按钮 Command1,在列表List1中输出结果,程序设计界面如图a所示。请回答下列问题:

图 a

(1)在设计程序界面时,应使用图 b 所示“控件工具箱”中的_____ (填写相应编号)添加列表框。

图 b

(2)实现上述功能的VB程序如下,请在划线处填写合适的代码。
Private Sub Command1_Click()
Dim a(1 To 40) As Integer Dim i As Integer List1.Clear
n = Val(Text1.Text) Randomize
For i = 1 To n
    _____   ’随机生成[1,40]之间的正整数

For j = 1 To i - 1

If a(j) = a(i) Then

Exit For
End If
Next j
Next i
For i = 1 To n
List1.AddItem Str(a(i)) Next i
End Sub
(3)加框处代码有误,请改正_____。
(4)运行程序,在文本框 Text1 中输入 41,单击“抽取”按钮,程序错误提示为_____。(填写字母:
A.溢出/B.下标越界/C.缺少对象)
上一题 下一题 0.99难度 None 更新时间:2020-03-01 10:10:03

答案(点此获取答案解析)

同类题5

编写VB程序,实现如下功能: 单击“排序数组a”按钮Command1时,对已有数组a的数据进行升序排列,并显示在文本框Label1中;单击“显示数组b”按钮Command2时,将升序数组b的数据显示在文本框Label2中;再单击“合并a和b”按钮Command3时,对数组a和数组b升序合并到字符串中,将合并后的数据在文本框Label3中显示。(运行效果如图所示)。实现上述功能的VB代码如下, 请在划线处填入合适代码。

Dim a(1 To 6) As Integer
Dim b(1 To 6) As Integer
Private Sub Command1_Click() '对数组a中的数据进行排序
Dim i As Integer, j As Integer ,k as integer
a(1) =" 53" :a(2) =" 18:a(3)" =" 62:a(4)" =" 22:a(5)" =" 6:a(6)" = 25
s = ""
For i =" 1" To 5
k = i
For j =" i" + 1 To 6
If a(k) > a(j) Then
Next j
If i <> k Then
t =" a(k):" a(k) =" a(i):" a(i) = t
End If
Next i
For i =" 1" To 6
s =" s" + Str(a(i))
Next i
Label1.Caption = s
End Sub
Private Sub Command2_Click()
b(1) =" 3:" b(2) =" 8:" b(3) =" 15:" b(4) =" 27:" b(5) =" 38:" b(6) = 49
'此处部分代码省略
End Sub
Private Sub Command3_Click()
'将数组a和b中的数据逐个比较后添加到新的字符串s中,并将s在label3中显示
i =" 1:" j =" 1:" s = ""
Do While i <=" 6"     ②   j <= 6   '如果两数组都还有数据未合并
If   ③    Then
s =" s" + Str(a(i)) : i =" i" + 1
Else
s =" s" + Str(b(j)) : j =" j" + 1
End If
Loop
Do While i <= 6 '只有数组a还有数据未合并
s =" s" + Str(a(i)) : i =" i" + 1
Loop
Do While j <= 6 '只有数组b还有数据未合并
s =" s" + Str(b(j)) : j =" j" + 1
Loop
Label3.Caption = s
End Sub