试题

试题 试卷

logo

题型:单选题 题类:常考题 难易度:普通

【bj】高中信息技术综合库——排序算法及程序实现2

有如下程序段

Dim flag(0 To 4) As Boolean, p As Integer

For i=1 To 4

    flag(i)=False

Next i

i=1: flag(0)=True

Do While i <= 4 And flag(i-1)

    For j=5 To i+1 Step-1

        If a(j)<a(j-1) Then

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

            flag(i)=True

        End If

    Next j

    i=i+1

Loop

数组元素a(1)到a(5)值依次为“16,4,24,33,77”,程序运行后,flag数组中为True个数及i的值分别是(   )

A、1,2 B、1,3 C、2,2 D、2,3
举一反三
小王基于选择排序算法编写了一个VB程序,功能如下:读取若干数据依次存储在数组a中,并将数据分段排序,每段数据的元素个数及排序的次序要求依次存储在数组b中。如图,在文本框Text1中显示数组a的原始数据,在文本框Text2中显示每段数据的元素个数及排序次序要求(0表示升序、1表示降序);单击“排序”按钮Command1,根据要求输出对每段数据进行排序的结果。实现上述功能的VB程序如下:

Dim n As Integer

Dim a(1 To 100) As Integer

Dim b(1 To 100) As Integer

Private Sub Form Load()

‘读取若干数据依次存储到数组a中,并将数据元素的总个数存储到变量n中。

‘将每段数据的元素个数及排序的次序依次存储到数组b中;

‘b(1)、b(2)分别存储第1段数据的元素个数、排序的次序,

‘b(3)、b(4)分别存储第2段数据的元素个数、排序的次序,.....

“代码略。

End Sub

Private Sub Command1_Click())

    Dim i As Integer, j As Integer, k As Integer, t As Integer

    Dim pb As Integer, endpos As Integer

    pb=1: endpos =b(1)

    For i=1 To n-1

        If i=endpos Then

            pb=pb+2:i=endpos+1

               ①  

        End If

        k=i

        For j =i+1 To endpos

            If  Then k=j     ‘⑵

        Next j

        If k<>i Then

                ②  

        End If

    Next i

    Text3.Text =""     ‘⑷

    For i=1 To n

        Text3.Text=Text3.Text + Str(a(i))

    Next i

End Sub

返回首页

试题篮