在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim s As String, i As Integer Dim n As Integer s = InputB

admin2015-06-30  35

问题 在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
  Dim s As String, i As Integer
  Dim n As Integer
  s = InputBox("输入数据")
  n = Len(s)
  For i = 1 To n \ 2
      If __________________________  Then
         Exit For
      End If
  Next i
  If i > n \ 2 Then
     Print s & "是对称字符串"
  Else
     Print s & "不是对称字符串"
  End If
End Sub
该过程的功能是判断输入的字符串是否为对称字符串(例如:"1234321"、"XYZZYX"都是对称字符串)。为了实现这一功能,则在横线处应填入的表达式是

选项 A、Mid(s, i, 1) <> Mid(s, n - i + 1, 1)
B、Mid(i, s, 1) <> Mid(n - i + 1, s , 1)
C、Mid(s, i+1, 1) <> Mid(s, n - i, 1)
D、Mid(i+1, s , 1) <> Mid(n - i , s , 1)

答案A

解析 InputBox函数可以产生一个对话框,作为输入数据的界面,等待用户输入数据,并且返回输入的内容。求字符串长函数Len(s),英文全称:Length,返回字符串s的长度,即所包含的字符的个数。求字符串是不是对称字符串,思想如下,接收所输入字符串,获取该字符串的长度,再将该字符串的第一个字符与最后一个字符进行比较,第二个字符与倒数第二个字符进行比较,以此类推,直到比较到该字符串长度的一半为至。在此比较过程中,如果出现所比较的字符不相等,直接退出整个循环,则所输入对话框中数据不是对称字符串。如果比较到该字符串一半,所比较字符仍然相等,则所输入对话框中数据是对称字符串。故横线处,所比较的应该是当前下标与对应位置的下标的字符是否相等。Mid (s,n1,n2)是字符串截取函数,从s的第n1个字符开始,向后截取n2个字符。Mid(s,i,1)截取当前位置的字符,其对应位置的字符位置是Mid(s,n-i+1,1)。故本题正确选项为A。
转载请注明原文地址:https://kaotiyun.com/show/tuQp777K
0

最新回复(0)