题目

展开字符串。如果在输入的字符串中,含有类似于“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) 如果输入的简写字符串为“abs-w-Y1234-5S-4z”,则展开后的字符串为。 (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 答案: 【1】abstuvw-Y12345S-4z (2 A) 【1】st2=st2+Chr(j)【2】pos=Mid(s,x,1)
信息技术 试题推荐
最近更新