在考生文件夹下有一个工程文件sjt5.vbp,其窗体上有两个标题分别是“读数据”和“统计”的命令按钮。请添加两个标签,其名称分别是Label1和Label2,标题分别为“最长单词的长度”和“以该长度最后一次出现的单词是”;再添加两个名称分别为Text1和Text2,初始内容为空的文本框,如图所示。程序功能如下:
【正确答案】[操作步骤]
步骤1:打开本题工程文件,添加两个名称分别是Label1和Label2,标题分别为“最长单词的长度”和“以该长度最后一次出现的单词是”的标签;再添加两个名称分别为Text1和Text2,初始值都为空的文本框。
步骤2:打开代码编辑窗口,在代码编辑窗口指定位置编写以下代码。
For i=1 To Len(s)
J=Asc(Mid(s, i, 1)) '依次从s中取一个字符转换成ASCII码
Select Case J '判断J的范围
Case 48 To 57, 65 To 90, 97 To 122
Case Else '当J不在上述范围,则使之为"-"
Mid(s, i, 1)="-"
End Select
Next i
J=Len(s)-1
For i=1 To J
If Mid(s, i, 1)="-" And Mid(s, i+1, i)="-" Then
s=Left(s, i)+Right(s, J-i)
J=J-1
i=i-1
End If
Next i
s=Left(s, Len(s)-1)
R=Split (s, "-") '将s以"-"分隔成多个单词并存入R中
B=R(0)
For i=1 To UBound(R) '查找最长的单词
If Len(B) < Len(R(i)) Then B=R(i)
Next i
For m=UBound (R) To 1 Step -1 '从数组尾开始查找最后一次以Len(B)长度出现的单词
If Len(B)=Len(R(m)) Then
Exit For
End If
Next
Text1.Text=Len(B) '显示最长单词长度
Text2.Text=R(m) '显示满足条件的单词
步骤3:调试并运行程序,关闭程序后按题目要求存盘。
【答案解析】[考点] 本题考点有:Left()函数,Right()函数,Split()函数,Select Case语句,Len()函数,标签的Name和Caption属性,文本框的Name和Text属性,Mid()函数,UBound()函数以及文件操作。
[解析] 单击“统计”按钮,通过Select Case语句判断是否为空格或是字母,通过Len()函数得出中最长单词的长度,并通过比较把最长单词赋值给变量B,运用For语句从字符串s的最后开始查找,判断Len(B)=Len(R(m)),找出最后一个以该长度出现的单词,并将该单词的长度显示在Text1文本框内,将该单词显示在Text2文本框内。