当前位置: 高中信息技术 / 综合题
  • 1. (2019·浙江模拟) 写一个字符串压缩程序:对于2~9个相同字符组成的字符串,用两个字符来编码:第一个字符表示这个字符串的长度值(即2-9);第二个字符表示相同字符的值。如字符串“AAAAA”可以压缩为“5A”,“AA”可以压缩为“2A”。如果存在某个字符串,其中没有一个字符连续重复出现,就表示成:以数字1开始,后面跟着这一字符串,再以数字1结尾。如字符串“BCE”可以表示成“1BCE1”,“A”可以表示成“1A1”。又如“XXXXXXXXABCYYYZ”的压缩结果是“8X1ABC13Y1Z1”。假设被压缩字符串中只会出现字母,连续相同字母不会超过9个。程序在Text1中输入被压缩的字符串,Text2中输出了压缩的结果,请在划线处填入合适的代码。

    1. (1) 若Text1中输入的字符串为“XXXXXAXAAA”,那么压缩的结果是
    2. (2) 以下程序段运行时,为了实现上述功能,请在划线处填入合适的代码。

      Private Sub Command1_Click()

          Dim s As String

          Dim n As Integer , i As Integer

          s = Text1.Text

          n=Len(s) : i=1 : result=""

          Do While i<=n

              s1=Mid(s, i, 1)

              numbers=0

      ‘扫描到的字符都和s1相同

              Do While 

                  i=i+1

                  numbers = numbers+ 1

              Loop

              If numbers>0 Then

                  result= result & &s1

                      i = i+1

              End If

              start =1

              s1 = Mid(s,i,1)

              numbers =0

      '扫描到的字符都和s1不同

              Do While s1<>Mid(s,i+1,1)

                  i=i+1

                  numbers = numbers+ 1

                  s1=Mid(s,i,1)

              Loop

              If Mid ( s , i + 1 , 1 ) = s1 Then

                  numbers = numbers-1

              End If

              If numbers >= 0 Then

                  result = result&"1" &&"1"

              End If

          Loop

          Text2.Text=result

      End Sub

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