试题

试题 试卷

logo

题型:综合题 题类:模拟题 难易度:困难

浙江省普通高校招生信息技术选考模拟卷(三)

【加试题】某排序算法思想如下:若有11个桶,编号从0~10,随机产生多个整数,每产生一个整数时,就在以该整数位编号的桶中放一面小旗子,最后只要按顺序数每个桶中有几面小旗子,就能得到这几个整数的有序排列。例如2号桶中有1个小旗子,表示2出现了一次;3号桶中有1个小旗子,表示3出现了一次;5号桶中有2个小旗子,表示5出现了两次;8号桶中有1个小旗子,表示8出现了一次,按桶的编号顺序读出旗子数量,没有旗子的桶略过,得到有序整数为“2,3,5,5,8”。

为此,小李编写了一个VB程序,功能如下:运行程序,窗体加载时随机产生6个[0,9]的随机整数,并在列表框List1中依次显示排序前数据,单击“排序”按钮Command1,在列表框List2 中显示经过上述排序算法后的数据。运行结果如图所示。实现上述功能的VB代码如下,但加框处代码有错,请改正。

Dim a(10) As Integer    '数组a表示桶的编号,如a(0)表示第0号桶

Private Sub Command1_Click()

    Dim i As Integer, j As Integer

    For i = 0 To 10

        For j = 1 To       ①

List2.AddItem  CStr(i)

        Next j

    Next i

End Sub

Private Sub Form_Load()

    Dim i As Integer

    Randomize

    For i = 0 To 10             '将数组初始化为0

        a(i) = 0

    Next i

    For i = 1 To 6            '产生6个[0,9]的随机数

        t = Int(Rnd * 10)  

        a(t) =   '第t桶中小旗子数量加1    ②

        List1.AddItem  CStr(t)

    Next i

End Sub

举一反三
返回首页

试题篮