潇潇 发表于 2009-10-26 20:02:32

输入一串不区分大小写的字母,统计各字母出现的次数

首先新建一个标准 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:

相关图片:
演示源码:

xueming 发表于 2010-4-10 17:34:14

回去研究研究
页: [1]
查看完整版本: 输入一串不区分大小写的字母,统计各字母出现的次数