组卷题库 > 高中信息技术试卷库
试题详情
编写“区间覆盖”程序,实现如下功能:输入数轴上的若干个封闭区间范围(均为正整数且左坐标<右坐标),单击“统计”按钮,计算覆盖所有区间所需的数据点的个数。

例如:依次输入以下区间:[2 5],[4 7],[1 4],[5 9],[4 5],[2 4],数轴如下:

坐标点“4”覆盖了[2 5],[4 7],[1 4],[4 5],[2 4]共5个区间,坐标点“9”覆盖了[5 9]区间,所以覆盖这6个区间所需的坐标点数为2个。

程序运行界面如图所示。

实现上述功能的VB代码如下:

Dim n As Integer

Dim a(1 To 100) As Integer

Private Sub Input_Click()

    '输入n个正整数区间,依次存放到数组

    'a(1)到a(2*n)中,并在List1中显示

    '代码略

End Sub

Private Sub Count_Click()

    Dim right As Integer, t As Integer, k As Integer

    Dim tmp As Integer, i As Integer, ans As Integer

   

         ‘改错

    ans = 1: t = 3

    Do While t < 2 * n

        If    ①   Then

            If a(t + 1) < right Then right = a(t + 1)

        Else

            ans = ans + 1

            right = a(t + 1)

        End If

           ②    

    Loop

    Text3.Text = Str(ans)

End Sub

请回答下列问题:

知识点
参考答案
采纳过本试题的试卷
教育网站链接