【正确答案】[操作步骤]
第1步:打开工程文件sjt5.vbp。
第2步:添加控件
①添加一个标签控件,修改其Caption属性为“出现次数最多的字母是”。
②添加一个标签控件,修改其Caption属性为“它出现的次数为”。
③添加两个文本框控件:第一个文本框控件与第一个标签控件在同一水平线上,第二个文本框控件与第二个标签控件在同一水平线上,清空两个文本框控件的Text属性中的内容。
第3步:编写程序。
Private Sub Command2_Click()
'考生应编写的程序
Dim zm(1 To 26) As Integer, c As String *1
Dim i As Integer, j As Integer
Dim max As Integer
For i=1 To Len(s)
c=UCase(Mid(s,i,1))
If e>="A" And c<="Z" Then
j=Asc(c)-65+1 '将字母转换成1~26的下标,A字母的ASCII码为65
zm(j)=zm(j)+1
End If
Next i
max=1
For j=2 To 26
If zm(i)>zm(max) Then max=i
Next i
Text1=Chr(max+65) '根据下标转换为对应的字母
Text2=zm(max)
End Sub
第4步:调试、运行并保存程序。
【答案解析】[解析] 为统计26个字母出现的个数,可声明一个具有26个元素的数组,每个元素的下标表示对应的字母,元素的值表示对应字母出现的次数。如:zm(1)=10,表示字母A出现10次,zm(2)=3表示字母B出现3次,也就是说,zm数组中下标为1的元素存储A字母出现的次数,下标为2的元素存储B字母出现的次数,以此类推。对已有的字符串可以通过Mid()函数逐一取出字母,统一转换成大写字母或小写字母,进行归类统计,由zm数组存储各字母出现的次数。
统计完各字母出现次数后,找出zm数组元素的最大值,该数组元素的下标对应的字母就是出现次数最多的字母。找出zm数组元素的最大值的算法是:先假定第一个元素就是最大值,记下其下标,然后依次将每一个元素值与最大值比较,若遇到更大的值,则记下新的更大值的下标,直到与最后一个元素比较完毕。
Command1_Click()过程用于读取文件中的内容,Form_Unload()过程用于在关闭窗体时将统计结果保存到文件out5.dat中。