在考牛文件夹下有一个工程文件sjt5.vbp,窗体上有两个命令按钮,标题分别是“读数据”和“统计”,请添加两个标签,名称分别为Label1和Labe12,标题分别为“出现次数最多的字母是”和“它出现的次数为”;再添加两个名称分别为Text1和Text2,初

admin2018-05-08  22

问题 在考牛文件夹下有一个工程文件sjt5.vbp,窗体上有两个命令按钮,标题分别是“读数据”和“统计”,请添加两个标签,名称分别为Label1和Labe12,标题分别为“出现次数最多的字母是”和“它出现的次数为”;再添加两个名称分别为Text1和Text2,初始内容为空的文本框,如图所示。
    程序功能如下:
    ①单击“读数据”按钮,则将考生文件央下in5.dat文件的内容读到变量s中(此过程已给出)。
    ②单击“统计”按钮,自动统计in5.dat文件中所含各字母(不区分大小写)出现的次数,并统计次数最多的字母显示在Text1文本框内,它所出现的次数显示在Text2文本框内。
    “读数据”按钮的Click事件过程已经给出,请为“统计”按钮编写适当的事件过程实现上述功能。

    注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序运行之前,必须进行统计,且必须用窗体右上角的关闭按钮结束程序,否则无成绩。最后,程序按原文件名存盘。

选项

答案步骤1:打开本题工程文件,添加两个标签控件,名称分别为Labe11和Labe12,标题分别为“出现次数最多的字母是”和“它出现的次数为”;再添加两个名称分别为Text1和Text2,初始值为空的文本框。 步骤2:打开代码编辑窗口,在指定位置编写如下代码。 Dim a(1 To 26)As Integer’定义数组a用于存放字母出现个数 Dim max As Integer n=Len(s)’Len的功能是求字符串的长度 For i=1 To n k:Asc(Mid$(s,i,1))’依次获取字符 If(k>=65 And k<=90)Then a(k-64)=a(k-64)十1’当为大写字母时。满足条件则计数 End It If(k>=97 And k<=122)Then a(k-96)=a(k-96)+1’当为小写字母时,满足条件则计数 End If Next i max=0 For m=1 To 26 ’循环查找出现次数最多的值 If max
解析 通过Mid()函数获取字符,并通过Asc()函数获得字符的ASCII码,并赋值给变量k。定义一个数组a(26)用于存储26个字母的出现次数,根据语句Option Base1,判断数组的下标为1~26,通过判断ASCII码来计算字母出现的次数,例如k=65(A)或k=97(a),那么a(k-64)和a(k-96)也就是通过a(1)加1来进行计数。再通过对于数组a最大值的查找求…最多的次数,进而求出出现最多的字母并显示出来。
转载请注明原文地址:https://jikaoti.com/ti/M4y0FFFM
0

最新回复(0)