试题

试题 试卷

logo

题型:综合题 题类:真题 难易度:普通

浙江省普通高等学校招生2021年1月信息技术选考试卷

根据申请人的QA和QB值,从m个申请人中挑选2人组队参加某挑战赛。条件一是2人的QA值都必须大于指定参数h;条件二是2人的QA值之差(较大值减较小值)小于h。在满足上述两个条件的所有2人组合中,挑选QB值之和最大的一个组合。(QA、QB和h的值均为正整数)

编写VB程序,实现上述挑选功能。运行程序,在文本框Text1中输入参数h后,单击“挑选”按钮Command1,在列表框List1中按QA值降序显示满足条件一的申请人信息,最后在标签Label1中显示组队结果。程序运行界面如图所示。

请回答下列问题:

(1)、若要清空列表框List1,能实现该功能的语句是(单选,填字母:A .List1. Caption = "" / B .List1.Text = "" / C .List1. Clear)。
(2)、实现上述功能的VB程序如下,请在划线处填入合适的代码。

Const m = 20          'm表示申请人个数

Dim id(m)As Integer, qa(m)As Integer, qb(m)As Integer

Private Sub Command1_Click( )

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

    Dim h As Integer, n As Integer        '变量n存储满足条件一的申请人个数

    Dim s As String

    '读取全部申请人的编号、QA和QB值,分别存入数组id、qa和qb,代码略

    h = Val(Text1. Text):n = m

    For i = 1 To m — 1

        k = i

        For j = i + 1 To m

            If qa(j)> qa(k)Then k = j

        Next j

        If  Then

            If k <> i Then

                t = qa(i):qa(i) = qa(k):qa(k) = t

                t = qb(i):qb(i) = qb(k):qb(k) = t

                t = id(i):id(i) = id(k):id(k) = t

            End If

        Else

            n =

            Exit For      'Exit For表示退出循环

        End If

    Next i

    '满足条件一的申请人信息显示在列表框Listl中,代码略

    max = 0:s = “没有满足条件的组合”

    '在满足条件的组合中,寻找QB值之和最大的组合,若有并列,只保留第一个

    For i = n To 2 Step - 1

        j = i - 1

            Do While

                If qb(i)+ qb(j) > max Then

                    s = "组队结果:" + Str(id(i)) + "号," + Str(id(j)) + "号"

                    

            End If

            j = j - 1

        Loop

    Next i

    Label1. Caption = s

End Sub

(3)、程序中加框处代码有错,请改正。
举一反三
返回首页

试题篮