1. 双向选择排序算法。在经典的选择排序基础上,如果在选择出最小数的同时,也能选择预见最大数并将两数放置合适位置,这样就使排序效率提高一倍。依照上述双向选择排序的算法,小张编写了一个VB程序,功能如下:在列表框List中显示排序前数据,单击“排序”按钮Command1,在列表框List中显示这些数据按升序排序后的结果。运行效果如下图所示。

实现上述功能的VB程序如下,但加框处代码有错,请改正。

Const n=10

Dim b(1 To n)As Integer

Private Sub command1_Click( )

    Dim i As Integer

    Dim t As Integer

    For i=1 To   

        For j=i To   

            If b(j)<b(i) Then

                t=b(i):b(i)=b(j):b(j)=t

            End If

            If b(j)>b(n-i+1) Then

                t=b(j):b(j)=b(n-i+1):b(n-i+1)=t

            End If

        Next j

    Next i

    For i=1 To n

        List2.AddItem Str(b(i))

    Next i

End Sub

Private Sub Form_Load( )

    For i=1 To 10

        b(i)=1+Int(Rnd*100)

        List1.AddItem Str(b(i))

    Next i

End Sub

【考点】
排序算法及程序实现;
【答案】

您现在未登录,无法查看试题答案与解析。 登录
综合题 普通
能力提升
变式训练
拓展培优
真题演练
换一批
2. 小明编写了一个图书录入系统的VB程序,功能如下:单击“读数据库”按钮Command1,从数据库中读取相应数据并显示在列表框List1中,在文本框Text1中实现数据录入这类图书的数量,单击“录入数据”按钮Command2实现数据录入,并按数量降序的方式显示在列表框List2中。程序运行界面如图所示。实现上述功能的VB程序如下,请回答下列问题:

(1) 分析程序,可知数据库的文件名为
(2) 请在划线处填入合适的代码。

Dim sType(1 To 200)As string                 '存放图书类别

Dim sNumber(1 To 200)As Integer         '存放图书数量

Dim n As Integer

Private Sub Command1_Click( )

    Dim conn As New ADODB Connection

    Dim rs As New ADODB Recordset

    conn. Connection String="Provider=Microsoft.AC

    A.OLEDB.12.0;DATA Source="& App. Path &"\ALibrary. accdb"

    conn. Open

    Set rs. Active Connection=conn

    rs. Open"Select*From Book"

    '本过程从数据库中读取图书数据,存储在相应的变量中,并在List1中显示

    '代码略

End Sub

Private Sub Command2_Chck()

    Dim i As Integer, j As Integer, t As Integer, y As Integer

    Dim x As String, s As String

    Dim flag As Boolean

    List2. Clear

    x=Text1. Text

    y=Val(Text2. Text)

    flag=True

    For i=1 To n

        If sType(i)=x Then

           

            flag=False

            Exit for

        End If

    Next i

    If flag Then

       

        sType(n)=x

        sNumber(n)=y

    End If

    For i=1 To n-1

        For j=i+1 To n

            If Then

                t=sNumber (j):s Number(j)=sNumber(i):sNtmaber (i)=t

                s=sType(j):sType(j)=sType(i):sType(i)=s

            End If

        Next j

    Next i

    List2. AddItem("类别数量")

    For i=1 To n

        List2. AddItem sType(i)&" "&Str(sNumber(i))

    Next i

End sub

综合题 困难