1. 有一组正整数,要求仅对其中的奇数进行升序排序。排序后在列表框List2中也仅显示奇数部分数据,结果如图所示。

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

Const n=10

Dim a (1 To n) As Integer

Private Sub Command1_Click()

Dim t As Integer, i As Integer, j As Integer, m As Integer

Dim tmp As Integer

'读取一组正整数,存储在数组a中,并显示在列表框List1,代码略

i=1

Do While i<=n

    For j=n To i+1 Step-1

        If a(j) Mod 2=1 Then

            If ①  Then

                tmp =a(j):a(j)=a(j-1):a(j-1)=tmp

                t=t+1

            End If

        End If

    Next j

    If ②  Then m=m+1

    i=i+1

Loop

For i=1 to m

    List2.AddItem Str(a(i))

Next i

List2.AddItem "一共交换了"& t & "次"

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

综合题 困难