试题

试题 试卷

logo

题型:综合题 题类:模拟题 难易度:普通

浙江省2019年信息技术选考模拟试卷三

写一个字符串压缩程序:对于2~9个相同字符组成的字符串,用两个字符来编码:第一个字符表示这个字符串的长度值(即2-9);第二个字符表示相同字符的值。如字符串“AAAAA”可以压缩为“5A”,“AA”可以压缩为“2A”。如果存在某个字符串,其中没有一个字符连续重复出现,就表示成:以数字1开始,后面跟着这一字符串,再以数字1结尾。如字符串“BCE”可以表示成“1BCE1”,“A”可以表示成“1A1”。又如“XXXXXXXXABCYYYZ”的压缩结果是“8X1ABC13Y1Z1”。假设被压缩字符串中只会出现字母,连续相同字母不会超过9个。程序在Text1中输入被压缩的字符串,Text2中输出了压缩的结果,请在划线处填入合适的代码。
(1)、若Text1中输入的字符串为“XXXXXAXAAA”,那么压缩的结果是
(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

返回首页

试题篮