试题

试题 试卷

logo

题型:综合题 题类:常考题 难易度:困难

浙江省嘉兴市第一中学2017-2018学年高二上学期信息技术期中考试试卷

【加试题】数字个数统计。编写VB程序,实现如下功能:在文本框Text1中输入仅由ASCII码字符组成的字符串(长度不超过100),单击“数字统计”按钮Command1,在列表框List1中输出字符串中包含的不同数字及其相应的个数,程序运行效果如下图所示。

(1)、为方便调试,要让程序每次运行时文本框Text1中的初始内容为“ab12*{}78ab12()778ab34”,应修改文本框Text1的属性。
(2)、实现上述功能的VB程序如下,请在划线处填入合适代码。

Private sub command1_click()

  Dim a(0 to 9) as integer   ‘数组元素a(i)中存放数字i的个数

  Dim s as string , ch as string

  Dim t as integer

  For i=0 to 9

    a(i)=0

  next i

  s=text1.text

  for i=1 to len(s)

        

    if ch>=”0”and ch<=”9” then

        t=

        a(t)= a(t)+1

    end if

  next i

  list1.clear

  for i=1 to 9

  if a(i)<>0   then

    list1.additem  ”数字:”+str(i)+ ”,共有”+ str(a(i))+ ”个”

  end if

  next i

end sub

(3)、与上述程序中加框处代码运行效果等价的条件表达式可以是
举一反三
数组nam()、sex()、math()、su()分别存放学生的姓名、性别、数学和总分成绩,现要求编写一个程序使得数据按照男生“总分”的降序和女生“总分”的升序排列,其中男生在前女生在后,程序界面如下图所示:

实现该功能的VB程序如下,但加框处代码有错,请改正。

Dim nam(100) As String '存放学生姓名

Dim sex(100) As String '存放学生性别

Dim math(100) As Long '存放学生数学成绩

Dim su(100) As Long '存放学生总分成绩

Dim k As Integer 'k变量用来存学生人数

Private Sub Form_Load()

‘将数据库中的数据分别存储在相应的变量中并在列表框中显示出来

‘代码略

End Sub

Private Sub Command1_Click()

Dim mmax As Integer, gmax As Integer, flagm As Boolean, flagg As Boolean

i = 1: flagm = True: flagg = True

Do While i <= k And flagm = True       ①   

    mmax = 0: gmax = 0

    flagm = False: flagg = False

  For j = i To k - i + 1

    If sex(j) = "男" And su(j) > su(mmax) Then mmax = j

    If sex(j) = "女" And su(j) > su(gmax) Then gmax = j

  Next j

   If mmax <> 0 Then

      flagm = True

      t = nam(mmax): nam(mmax) = nam(i): nam(i) = t

      t = sex(mmax): sex(mmax) = sex(i): sex(i) = t

      t = math(mmax): math(mmax) = math(i): math(i) = t

      t = su(mmax): su(mmax) = su(i): su(i) = t

   End If

   If gmax <> 0 Then

       flagg = True

       If j = mmax Then             ②   

        gmax = mmax

        t = nam(gmax): nam(gmax) = nam(k - i + 1): nam(k - i + 1) = t

        t = sex(gmax): sex(gmax) = sex(k - i + 1): sex(k - i + 1) = t

        t = math(gmax): math(gmax) = math(i): math(i) = t

        t = su(gmax): su(gmax) = su(k - i + 1): su(k - i + 1) = t

       Else

        t = nam(gmax): nam(gmax) = nam(k - i + 1): nam(k - i + 1) = t

        t = sex(gmax): sex(gmax) = sex(k - i + 1): sex(k - i + 1) = t

        t = math(gmax): math(gmax) = math(k - i + 1): math(k - i + 1) = t

        t = su(gmax): su(gmax) = su(k - i + 1): su(k - i + 1) = t

      End If

   End If

i = i + 1

Loop

For i = 1 To k

List2.AddItem nam(i) + "    " + sex(i) + "    " + Str(math(i)) + "    " + Str(su(i))

Next i

End Sub

程序中①处改为{#blank#}1{#/blank#}。

程序中②处改为{#blank#}2{#/blank#}。

返回首页

试题篮