当前位置: 高中信息技术 / 综合题
  • 1. (2020高三上·浙江月考) 在一个整数序列中找第k大的数,若有相同的整数,则位置靠前的整数的名次靠前。如有整数序列为“10,13,12,13,15”,则第1大的数为15,在第5个位置,第2大的数为13,在第2个位置,第3大的数还是13,在第4个位置,第4大的数是12,在第3个位置,第5大的数是10,在第1个位置。

    编写一个VB程序,实现如下功能:程序启动时产生n个1~20之间的随机整数,在文本框

    Text2中输人整数k(k≤n),单击“查找"按钮Command1后,在标签Label1上显示第k大的数及位置。程序运行界面如图所示。

    1. (1) 下列对象不具有Caption属性的是(单选,填字母:A .Command1 /B .Form1 / C .Text1 /D .Label1)
    2. (2) 实现上述功能的VB程序如下,请在划线处填入合适代码。

      Const n= 10

      Dima(1 To n) As Integer

      Private Sub Form_ Load( )

      '本过程产生n个1~20之间的随机整数存数组a中,并在文本框Text1中显示,代码略

      End Sub

      Private Sub Command1_Click()

      Dimi As Integer,key As Integer,c As Integer,k As Integer

          Dim b(1 To 20) As Integer

         

          For i= 1 To n

              b(a(i)) = b(a(i)) +1

          Next i

          i= 20

          Do While i> 1 And b(i) < k

             

              i=i-1

          Loop

         

          Label3.Caption="第"+Str(k)+"大的数是"+Str( key)

          c=0

          For i=1 To n

              If a(i) = key Then c= c+1

              If c= Then Exit For

          Next i

          Label3.Caption =Label3.Caption + ",在第"+Str(i)+"位置"

      End Sub

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

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