試卷征集
          加入會員
          操作視頻

          羅列對分查找中可能查到的中點。對分查找是我們常用的查找方式。在對分查找過程中,計算中點是非常重要的步驟。以下程序實現了“羅列對分查找中可能查到的中點”的功能。算法如下:用戶在文本框Text1中輸入模擬對分查找數據的個數n,單擊“產生隨機數并升序排列”按鈕,在List1中顯示n個不重復且已經升序排列的數(范圍[1,100]),單擊“可能查到的中點”,在list2中分行顯示各個可能查到的中點
          (1)實現上述功能的VB程序如下,請在橫線處填入合適代碼。

          Private Sub Command1_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)
          t=Int(Rnd*100+1)

          Loop
          f(t)=True
          Next i
          j=0
          For i=1 To 100
          If
          f(i)=True
          f(i)=True
           Then
          j=j+1
          a(j)=i
          List1.AddItem Str(i)
          End If
          Next i
          End Sub
          Private Sub Command2_Click (  )
          Dim b(1 To 100)As Integer,k As Integer,c As Integer,max As Integer
          Dim s As String
          Dim j As Integer
          n=Val(Text1.Text)
          max=0
          For k=1 To n
          i=1:j=n:c=0
          Do While i<=j
          m=(i+j)\2:c=c+1
          If c>max Then max=c
          If m=k Then b(m)=c:Exit Do
          If m<k Then i=m+1 Else j=m-1
          Loop
          Next k
          For i=1 To max
          s=““
          For j=1 To n
          If
          b(j)=i
          b(j)=i
           Then
          s=s+Str(a(j))
          Else
          s=s+““
          End If
          Next j
          List2.AddItem s
          Next i
          End Sub
          (2)當數據是11,22,33,44,55,66,77,88,99時,第3行第3個數為
          66
          66

          【答案】t=Int(Rnd*100+1);f(i)=True;b(j)=i;66
          【解答】
          【點評】
          聲明:本試題解析著作權屬菁優網所有,未經書面同意,不得復制發布。
          發布:2024/6/27 10:35:59組卷:13引用:1難度:0.2
          相似題
          • 1.某對分查找算法的VB程序段如下:

            數組元素a(1)到a(10)的值依次為“12,15,18,20,25,39,47,88,90,99”,經過上述代碼查找后,下列表達式正確的是(  )

            發布:2024/12/20 16:0:2組卷:5引用:2難度:0.5
          • 2.某數組d中的數據依次是[8,12,15,28,28,32,36,39],要查找某個元素是否在數組中,下列說法正確的是(  )

            發布:2024/12/20 0:0:1組卷:3引用:1難度:0.7
          • 3.有如下對分查找VB程序段:

            若數組元素a(1)~a(10)的值依次為“5,9,13,18,22,27,31,39,40,44”,運行程序后,文本
            框Text2中顯示的內容為3,則輸入的key值不可能為(  )

            發布:2024/12/20 20:0:2組卷:3引用:2難度:0.4
          APP開發者:深圳市菁優智慧教育股份有限公司| 應用名稱:菁優網 | 應用版本:5.0.7 |隱私協議|第三方SDK|用戶服務條款
          本網部分資源來源于會員上傳,除本網組織的資源外,版權歸原作者所有,如有侵犯版權,請立刻和本網聯系并提供證據,本網將在三個工作日內改正