在考生文件夹下有一个工程义件sjt5.vbp,其窗体上有两个标题分别是“读数据”和“统计”的命令按钮。请添加两个标签,其名称分别是Label1和Label2,标题分别为“最长单词的长度”和“以该长度最后一次出现的单词是”;再添加两个名称分别为Text1和T

admin2015-10-23  31

问题 在考生文件夹下有一个工程义件sjt5.vbp,其窗体上有两个标题分别是“读数据”和“统计”的命令按钮。请添加两个标签,其名称分别是Label1和Label2,标题分别为“最长单词的长度”和“以该长度最后一次出现的单词是”;再添加两个名称分别为Text1和Text2,初始内容为空的文本框,如图所示。程序功能如下:
    ①如果单击“读数据”按钮,则将考牛文件夹下inS.dat文件的内容读到变最s中(此过程已给出)。
    ②如果单击“统计”按钮,则程序自动统计inS.dat文件(该文件中仅含有字母和空格,而空格是用来分隔不同单词的)中最长单词的长度,以及ins.dat中最后一个以该长度出现的单词,并将该单词的长度显示在Text1文本框内,其单词显示在Text2文本框内。
    “读数据”命令按钮的Click事件过程已经给出,请为“统计”命令按钮编写适当的事件过程,实现上述功能。
    注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序运行之的,必须进行统计,日必须通过单击窗体右上角的“关闭”按钮结束程序,否则无成绩。最后,程序按原文件名存盘。

选项

答案步骤1:打开本题工程文件,添加两个名称分别是Latbel1和Labe12,标题分别为“最长单词的长度”和“以该长度最后一次出现的单词是”的标签;再添加两个名称分别为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,1)="一"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)
解析 单击“统计”按钮,通过Select Case语句判断是否为空格或是字母,通过Len()函数得出中最长单词的长度,并通过比较把最长单词赋值给变量B,运用For语句从字符串s的最后开始查找,判断Len(B)=Len(R(m)),找出最后一个以该长度出现的单词,并将该单词的长度显示在Text1文本框内,将该单词显示在Text2文本框内。
转载请注明原文地址:https://kaotiyun.com/show/0JLp777K
0

随机试题
最新回复(0)