问答题 在考生文件夹下有一个工程文件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文本框内。