试题

试题 试卷

logo

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

浙江省杭州市2016年信息技术高考模拟卷十三

【加试题】学校组织评委对竞选文明班级的5个班级打分,分数依次是85,81,93,95,82,若采用冒泡排序算法对其进行排序,第一遍排序的结果是95,85,81,93,82,则第二遍的排序结果是(   )
A、95,93,85,82,81 B、95,93,81,85,82 C、95,85,93,81,82 D、95,93,85,81,82 
举一反三
编写一个VB程序,实现程序功能如下:随机产生10个1~20之间的整数存放在数组a,在列表框List1中显示,单击“排序”按钮Command1后,在列表框List2中显示升序排序后的结果。具体算法描述如下:引入数组index,index(i)存储i位置应放置的数组元素的下标。排序完毕,a(index(i))成为升序序列,即a(index(1))≤a(index(2))≤a(index(3))≤……≤a(index(i))。在数组a的所有元素中找出最小元素,将其所在位罝存放在数组元素index(1)中,然后在余下的元素中找出最小元素,将其所在位置存放在数组元素index(2)中,以此类推,直到完成所有元素排序。如n=5时,数组a排序后各变量值如下表所示。

i

1

2

3

4

5

a(i)

17

19

9

13

6

index(i)

5

3

4

1

2

a(index(i))

6

9

13

17

19

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

Const n = 10

Const maxn = 20

Dim a(1 To n) As Integer, index(1 To n) As Integer, flag(1 To n) As Boolean

Private Sub Form_Load()

Dim i As Integer

Randomize

For i = 1 To n

 flag(i) = False

 a(i) = Int(Rnd() * maxn) + 1

 List1.AddItem Str(a(i))

Next i

End Sub

Private Sub Command1_Click()

Dim i As Integer, j As Integer

Dim k As Integer

For i = 1 To n

 For j = 1 To n

  If flag(j) = False Then k = j: Exit For

 Next j

 For m = k + 1 To n

  If Then k = m     ‘⑴

 Next m

 index(i) = k

 flag(k) = True

Next i

For i = 1 To n

 List2.AddItem      ‘⑵

Next i

End sub

⑴{#blank#}1{#/blank#} ⑵{#blank#}2{#/blank#} 

小王基于选择排序算法编写了一个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

返回首页

试题篮