标题:求助:VB中输出字符出现次数最多的那个字符(不区分大小写)及次数
只看楼主
hui3643616
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2018-6-12
结帖率:0
 问题点数:0 回复次数:3 
求助:VB中输出字符出现次数最多的那个字符(不区分大小写)及次数

Dim a(1 To 26) As Integer
    Dim max As Integer
    n = Len(s)
    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 If
        If (k >= 97 And k <= 122) Then
            a(k - 96) = a(k - 96) + 1
        End If
    Next
    max = 0
    For m = 1 To 26
        If max < a(m) Then
            max = a(m)
        End If
    Next m
    print max
  '请把字符出现次数最多的字符的代码下下面,谢谢大神




搜索更多相关主题的帖子: 字符 出现 次数 max If 
2018-07-28 13:43
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 
没看懂。
你现在是输出了最大值,要输出 是哪个字符吗?

那就改最后一段统计结果部分吧
    max = 1        '改成保存下标
    For m = 1 To 26
        If a(max) < a(m) Then
            max = m        '保存下标
        End If
    Next m
print a(max)           '得到最大值
print chr(max+64)      '得到最大值的那个字母


授人于鱼,不如授人于渔
早已停用QQ了
2018-07-28 15:45
wds1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:49
帖 子:393
专家分:2025
注 册:2016-3-10
得分:0 
Private Sub Command1_Click()
 Dim a(65 To 90) As Integer
 Dim max1 As Integer
 Dim max2 As Integer
 n = Len(Text1.Text) '字符在text1中
 For i = 1 To n
   k = Asc(UCase(Mid$(Text1.Text, i, 1))) '全部转为大写
   If (k >= 65 And k <= 90) Then
     a(k) = a(k) + 1
     If max1 < a(k) Then max1 = a(k): max2 = k
   End If
 Next
 Print Chr(max2), max1
End Sub



[此贴子已经被作者于2018-7-28 16:48编辑过]

2018-07-28 16:41
hui3643616
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2018-6-12
得分:0 
回复 2楼 风吹过b
谢谢
2018-07-28 17:24



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-488867-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.359271 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved