|
|
|
|
||
网友问题:输入一串不区分大小写的字母,统计各字母出现的次数?
首先新建一个标准 EXE 工程,然后在出现的Form1(窗体)上画上一个TextBox(文本框)控件、一个Label(标签)控件、一个CommandBtton(按钮)控件。然后在窗体的Command1按钮的Click(按钮单击)事件中写入以下代码:
Dim OldStr, NewStr As String
Dim i, j, k As Integer
Dim Str As String * 1
Dim ZmCount(1 To 26) As Integer
If Text1.Text = "" Then
MsgBox "文本框为空,请输入任意字母!"
Else
OldStr = Trim(Text1.Text)
For i = 1 To Len(OldStr)
Str = Mid(OldStr, i, 1) 取指定位置字母
If Asc(Str) < 65 Or Asc(Str) > 90 And Asc(Str) < 97 Or Asc(Str) > 122 Then 判断不是字母的字符
MsgBox "检测到非字母字符,计算无法进行!请检查输入的字符是否为字母。"
GoTo z 如果不是字母就跳转到代码尾z标记得地方
End If
If Asc(Str) >= 97 And Asc(Str) <= 122 Then 判断是小写字母
这里也可以判断是大写字母If Asc(str) >= 65 And Asc(str) <= 90 Then 然后将大写字母转成小写
Str = UCase(Str) 小写字母转成大写
Else
Str = Str
End If
NewStr = NewStr & Str
Next i
For j = 1 To Len(NewStr)
Str = Mid(NewStr, j, 1) 取指定位置字母
k = Asc(Str) - 65 + 1
If k > 0 Then
ZmCount(k) = ZmCount(k) + 1
End If
Next j
For k = 1 To 26
If ZmCount(k) > 0 Then
Result = Result & Chr(k + 64) & "=" & ZmCount(k) & " "
End If
Next k
Label1.Caption = Result
End If
z: