找数对。已知一数组a中有9个元素,在文本框Text1中输入一个正整数key,单击“找数对”Command1按钮,则在数组a中搜索是否有一对数的和等于key,若有,在标签Label2中输出最先找到的两个数,若无则输出“没有找出数对”。运行界面如图所示:
(1)
根据程序,若文本框Text1中输入内容为17,则标签Label2中输出的内容是。
(2)
请划线处填入合适的代码。
Const n = 9
Dim a(1 To n) As Integer,i As Integer, j As Integer
Private Sub Form_Load()
Dim s As String, k As Integer
a(1) = 9: a(2) = 13: a(3) = 11: a(4) = 3: a(5) = 20
a(6) = 6: a(7) = 18: a(8) = 15: a(9) = 8
For i = n To 2 Step -1
k = i
For j =
If a(j) < a(k) Then t = a(j): a(j) = a(k): a(k) = t
Next j
'③改错
Next i
Label1.Caption = s End Sub
Private Sub Command1_Click()
Dim L As Integer, R As Integer, m As Integer, key As Integer
key = Val(Text1.Text)
For i = 1 To n - 1
L = 1: R = n
Do While L <= R
m = (L + R) \ 2
If a(i) + a(m) = key Then
Label2.Caption = Str(a(i)) & Str(a(m))
Exit For
ElseIf Then
L = m + 1
Else
R = m - 1
End If
Loop
Next i
If L > R Then Label2.Caption = "没有找到数对"
End Sub
(3)
请改正加框处语句的错误。
答案: 【1】11 6
【1】1 To i-1【2】a(i) + a(m) <key
s=Str(a(k))+s