编写一个VB程序,功能如下:单击“随机数”按钮Command1,随机产生n个[10,50]范围的偶数。单击“计算”按钮Command2,在这n个随机数中找出四个数a,b,c,d,满足d=a+b+c,且d为所有满足条件组合中的最大值,如果存在符合要求的d,则在Text2中显示d的值,否则显示“no
solution"。
例如:42、50、14、16、22、10、34、10、12、38这10个数中,最大的d为50,50=12+16+22。请回答下列问题:
(1)
分析程序可知,生成随机数的事件处理过程名是。
(2)
实现功能的VB程序如下,请在划线处填入合适的代码。
Dim a(1 To 20) As Integer
Const n = 10
Private Sub Command1_ Click)
Dim i As Integer
Randoni ze
For i=1Ton
a(i) =
Text1.Text = Text1. Text + Str(a(i))
Next i
End Sub
Private Sub Command2_ Click ()
Dim i As Integer, j As Integer,t As Integer
Dim left As Integer, right As Integer
Dim ans As Integer, flag As Boolean
flag = True
'对数组a进行升序排序,代码略
i=n
Do While i >= 1 And flag
j=i-1
Do While j >= 1 And flag
left = 1
right = j- 1
Do While
If ans > a(left) + a(right) Then
left=left+1
ElseIf ans < a(left) + a(right) Then
right = right-1
Else
Text2. Text = Str(a(i))
flag = False
End If
Loop
j=j-i
Loop
Loop
If flag Then
Text2. Text ='no solution'
End If
End Sub
(3)
程序中加框处代码有错,请改正。
答案: 【1】Command1_Click
【1】Int(Rnd*21+5)* 2【2】ans = a(i) - a(j)【3】i=i-1
left < right And flag