当前位置: 高中信息技术 / 综合题
  • 1. (2020·浙江模拟) 展开字符串。如果在输入的字符串中,含有类似于“c-g”或者“3-7”的字符子串,就把它当作一种简写,字符串展开输出时有如下规则:

    1)如果“-”号右边的字符按照ASCI码的顺序大于左边字符,输出时,用连续递增的字母或数字串替代其中的“-”号,例如:“c-g”输出为“cdefg”,“3-7”输出为“34567”。

    2)如果“-”号右边的字符按照ASCII码的顺序小于或等于左边字符,输出时,保留中间的“-”号,例如:“a-a”输出为“a-a”,“4-1”输出为“4-1”。

    3)如果“-”号右边的字符恰好是左边字符的后继,则删除中间的“-”号,例如“d-e”应输出为“de”,“3-4”应输出为“34”。

    某同学按照上述算法,编写了VB程序,功能如下:在文本框Text 1中输入简写字符串,单击“展开”按钮Command 1,程序进行字符串展开处理并显示在文本框Text 2中。程序运行界面如图所示。

    1. (1) 如果输入的简写字符串为“abs-w-Y1234-5S-4z”,则展开后的字符串为
    2. (2) 实现上述功能的VB程序如下,请在画线处填入合适代码。

      Private Sub Command1_Click()

          Dim st1 As String, st2 As String, i As Integer

          st1=Text1. Text

          n=Len(st1)

          st2=""

          For i=1 To n

              If pos(st1, i)Then<> "-" Then

                  st2=st2+pos(st1, i)

              Else

                  If pos(st1, i-1)<pos(st1, i+1) Then

                      For j=Asc(pos(st1, i-1))+1 To Asc(pos(st1, i+1))-1

                         

                      Next j

                  Else

                      st2=st2+"-"

                  End If

              End If

          Next i

          Text2. Text=st2

      End Sub

      Function pos(s As String, x As Integer) As String     '返回字符串s中x位置的字符

         

      End Function

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