“字符串变换”按以下规则生成新字符串:
(1)若当前字符不是数字字符,则将其添加到新的字符串中;
(2)若当前字符是数字字符,且它之后没有后继字符,则将其添加到新的字符串中;
(3)若当前字符是数字字符,且它之后还有后继字符,则将当前字符所表示的数字设为 n,并将它的后继字符复制 n+1 次后添加到新的字符串中。该后继字符不再参与下一次变换。
(4)上述一次变换为一组,在不同组之间另外插入一个下划线字符“_”用于分隔。
例如:字符串“26ab5g8”变换后的结果为“666_a_b_gggggg_8”。
“字符串还原”则是“字符串变换”的相反操作,例如:将字符串“666_a_b_gggggg_8”还原为“26ab5g8”。
实现上述功能的 VB 程序如下。
(1)在以下代码中出现了_________ 类控件(填数字)。
(2)请在划线处填入合适的代码。
(3)加框处的代码有错,请改正。
Private Sub Command1_Click() ' 字符串变换
Dim s1 As String, s2 As String, ch1 As String, ch2 As String
Dim i As Integer, j As Integer, n As Integer
s1 = Text1.Text
s2 = ""
For i = 1 To Len(s1)ch1 = Mid(s1, i, 1)
If ch1 >= "0" And ch1 <= "9" And i < Len(s1) Then
_______
ch2 = Mid(s1, i + 1, 1)
For j = 1 To n
s2 = s2 + ch2
Next j
________
Else
s2 = s2 + ch1End If
If i <> Len(s1) Then s2 = s2 + "_"
Next iText2.Text = s2
End SubPrivate Sub Command2_Click() ' 字符串还原
Dim s2 As String, s3 As String, ch As String
Dim i As Integer, j As Integer, n As Integer
s2 = Text2.Text
s3 = ""
For i = 1 To Len(s2)
ch = Mid(s2, i, 1)
n = 0
j = i + 1
Do While Mid(s2, j, 1) = chj = j + 1
n = n + 1
Loop
i = jIf Then s3 = s3 + CStr(n) ' Cstr()的作用是去掉字符串前面的空格_______
s3 = _______
If ch = "_" Then i = i + 1Next i
Text3.Text = s3
End Sub

同类型试题

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2


y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

