当前位置: 高中信息技术 / 综合题
  • 1. 数组a中有100个正整数,已按升序排列。在文本框Text1中输入一个正整数key,寻找数组a中是否有一数对的和等于给定的数key。若存在和为key的数对,输出该数对所包含的两个整数,小数在前,大数在后。若有多个数对满足条件,则输出最先找到的数对;若找不到符合要求的数对,则输出“没有符合条件的数对”。小吴为此编写了VB程序,代码如下,但加框处代码有误,请改正。

    Dim a(1 To 100)As Integer

    Const n=100

    Private Sub Command1_Click( )

      Dim key As Integer, left As Integer, right As Integer, mid As Integer

      Dim flag As Boolean

      flag=False:key=Val(Text1. Text)

      For i=1 To n-1

                           ‘①

        right=n

        Do While        ‘②

            mid=(left +right)\2

            If a(i)+a(mid)<key Then

                left=mid+1

            ElseIf a(i)+a(mid)>key Then

                right=mid-1

            Else

                List1. AddItem Str(a(i))&" "&. Str(a(mid))

                flag=True

            End If

        Loop

      Next i

      If Not flag Then List1.Addltem"没有符合条件的数对"

    End Sub

    以上程序段运行时,为了实现上述功能,加框处代码应改正为:①;②

微信扫码预览、分享更方便