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

admin2010-09-02  34

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

选项

答案 【操作步骤】 步骤1:打开考生文件夹下的本题工程文件sjt5.vbp,如表2-38所列在窗体上画出控件并设置它们的相关属性。 [*] 步骤2:打开代码编辑窗口,在指定位置编写“统计”按钮的单击事件过程。 参考代码: PriVate Sub Command2_Click() ’需考生编写 n=Len(s):t="" Dim Max_len As Integer For i=1 To n c=Mid(s,i,1) If c<>""Then t=t+C Else If Len(t)>Max_len Then Max_len=Len(t) Max_word=t End If t="" End If Next i If Len(t)>Max_len Then Max_len=Len(t) Max_word=t End If Textl.Text=Max_len Text2.Text=Max_word End Sub 步骤3:按要求将文件保存至考生文件夹中。 步骤4:按键运行程序,先单击“读数据”按钮,再单击“统计”按钮,最后单击窗体右上角的关闭按钮结束程序。

解析 以空格为单词的分隔标志,在For循环中用Mid函数逐一取出变量8中的每个字符,并检查其是否为空格,若不是空格则将该字母作为当前单词的一部分,否则将当前单词的长度与记录单词最长值的变量(如Max_len)比较,将两者中的较大值存入该变量中,同时保存这个单词到变量Max word中。循环结束后,将Max_len的值显示在Textl中.Max_word值显示在Text2中。
    注意:为防止数据文件的最后一个字符不是空格而导致最后一个单词不在统计之列的情况,在开始找单词前在变量s的最后连上一个空格。
转载请注明原文地址:https://jikaoti.com/ti/3mg0FFFM
0

最新回复(0)