试题

试题 试卷

logo

题型:综合题 题类:常考题 难易度:普通

浙江省温州市新力量联盟2018-2019学年高二下学期信息技术期末联考试卷

数组a初始值均为0,生成n个1到100之间的随机整数依次存入数组a,要求a(1)至a(n)中的奇数位上的都是偶数,偶数位上的都是奇数且都升序排序,例如n=4时有数列2,5,6,9,n=5时有数列2,5,6,9,8,运行程序,向文本框text2 输入个数,单击“生成”按钮后按上面的规则生成数据并排序,然后在文本框text1中显示结果,在文本框text3中输入一个1到100之间的整数,单击“添加”则向已生成的数据中添加该数,要求保持偶数在奇数位上升序,奇数在偶数位上升序,如存在与该数相同的数据则插入到最后一个相同数据的后面,并将最终结果显示在text1中。运行程序生成5个数据“28,5,50,25,98,”,添加1次17得到“28,5,50,17,98,25,”,再添加1次17得到“28,5,50,17,98,17,0,25,”,运行效果如图所示。

(1)、为了“生成”按钮command1被单击后处于不可点状态,应该向程序添加代码(单选填字母:A .command1.Visible=False B .command1.Enabled=False C .command1.Caption="False")
(2)、请将划线部分补充完整。

Dim a(1 To 1000) As Integer

Dim n As Integer, p As Integer, q As Integer

Private Sub Command1_Click() '生成随机数据

    n = Val(Text2.Text)

    If n Mod 2 = 0 Then p = n - 1: q = n Else p = n: q = n - 1

      'p,q 分别为生成的数列的奇数位和偶数位最大下标

      '以下代码为生成随机数并按要求排序输出,代码略

End Sub

Private Sub Command2_Click() '添加数据

    Key = Val(Text3.Text)

    If Key Mod 2 = 0 Then

        i = 1: j = p: p = p + 2

    Else

        i = 2: j = q: q = q + 2

    End If

    Do While i <= j

        m = (i + j) / 2

        If Key Mod 2 = 0 And m Mod 2 = 0 Then m = m - 1

        If Key Mod 2 = 1 And m Mod 2 = 1 Then m = m - 1

        If Then i = m + 2 Else j = m – 2

    Loop

    If Key Mod 2 = 0 Then '插入一个偶数

        For k =

            a(k) = a(k - 2)

        Next k

        a(k) = Key

    Else

        '插入一个奇数,代码略

    End If

    If p > q Then n = p Else n = q

    For i = 1 To n

        s = s + Str(a(i)) + ","

    Next i

    Text1.Text = s

End Sub

(3)、运行程序时在 text1 中生成“6,53,” ,先后添加数据“2”和“8”则在 text1 中显示的内容为
举一反三
返回首页

试题篮