当前位置: 高中信息技术 / 综合题
  • 1. (2021·绍兴模拟) 给定n个学生成绩,筛选男生或女生中成绩居前百分之k的学生。筛选规则如下:m=男生或女生记录数×k%,若m<1,则m取1;否则m向下取整,如m=3.1,则筛选最大的3项。若有数据和第m项的值相同,则一起筛选出。如有男生成绩分别是“78,99,98,99,90”,以“最大10百分比”筛选,则5×10%=0.5,筛选最大的1项,筛选出“99,99”。

    编写一个VB程序,实现上述功能。程序运行时,在列表框List1中显示n名学生的姓名、性别和成绩,在文本框Text1中输入性别,Text2中输入k,单击“筛选”按钮Command1,在列表框List2中显示筛选出的学生姓名、性别和成绩。程序运行界面如图所示。

    1. (1) 下列VB语句可以实现清空文本框Text1内容的是(单选,填字母:A .Text1.Clear / B .Text1.Caption = "" / C .Text1.Text = "")
    2. (2) 实现上述功能的VB程序如下,请在划线处填入合适代码。

      Dim n As Integer

      Dim xm(1 To n) As String

      Dim xb(0 To n) As String

      Dim cj(0 To n) As Integer

      Private Sub Form_Load()

      '读取学生姓名、性别和成绩分别存 xm、xb 和 cj 数组,并在列表框 List1 中显示。

      '学生人数存变量 n,代码略。

      End Sub

      Private Sub Command1_Click()

          Dim s As String, k As Single, m As Single, mm As Integer

          Dim c As Integer, p As Integer, i As Integer, j As Integer

          Dim t1 As String, t2 As Integer

          s = Text1.Text

          k = Val(Text2.Text)

          c = 0

          For i = 1 To n

              If xb(i) = s Then

          Next i

          m = c * k / 100

          If m < 1 Then

              mm = 1

          Else

              mm =

          End If

          i = 1

          Do While i <= n

              p = i

              For j = i + 1 To n

                  If xb(j) = s Then

                      If  Then p = j

                  End If

              Next j

              If i <> p Then

                  t1 = xb(i): xb(i) = xb(p): xb(p) = t1

                  t2 = cj(i): cj(i) = cj(p): cj(p) = t2

              End If

              If i > mm And (xb(i) <> xb(i - 1) Or cj(i) <> cj(i - 1)) Then Exit Do

              i = i + 1

          Loop

         

          For i = 1 To mm

              List2.AddItem xm(i) + " " + xb(i) + " " + Str(cj(i))

          Next i

      End Sub

    3. (3) 程序加框处的代码有误,请改正。

微信扫码预览、分享更方便