vb任意输入10个数按从小到大的顺序排序并显示排序结果在此基础上输入一个数用折半法查找该数

急求 Vb程序设计

第1个回答  2013-11-20

Private Sub Command1_Click()

Dim a(10) As Integer

Randomize

For i = 1 To 10

  a(i) = Int(100 * Rnd)

  Print a(i);

Next i

For i = 1 To 9

  For j = 1 To 10 - i

    If a(j) > a(j + 1) Then

      t = a(j): a(j) = a(j + 1): a(j + 1) = t

    End If

  Next j

Next i

Print: Print

Print "排序以后的数是:"

For i = 1 To 10

  Print a(i);

Next i

Print

x = Val(InputBox("要找的数是:"))

i = 1: j = 10

Do

  m = (i + j) \ 2

  If a(m) = x Then

    MsgBox (x & " 是第 " & m & " 个数"): Exit Sub

  Else

    If x > a(m) Then i = m + 1 Else j = m - 1

  End If

Loop While i <= j

MsgBox ("没有 " & x & " 这个数")

End Sub


相似回答