2 weixin 34250340 weixin_34250340 于 2016.03.18 12:27 提问

怎么统计一个数组中元素的频率,和出现频率最高的元素

hshxjjnnn.hajhshhajsjsjsjsjsjxmdmdndb
char ch[N]
cin>>ch [],

2个回答

qq423399099
qq423399099   Ds   Rxr 2016.03.18 12:36
已采纳

只能一个个字符遍历,然后记录下每个字符出现的次数

#include<iostream>
#include <stdio.h>
#include <ctype.h>
using namespace std;

int main(){
    int a[26]={0};
    int i;
    char c;
    while ((c=getchar())!='\n')
        if (isalpha(c))
            a[tolower(c)-'a']++;
    for (i = 0; i<26; i++) {
        printf("%c\t:\t%d\n",'a'+i,a[i]);
    }
    system("pause");
}

图片说明

qq423399099
qq423399099 回复weixin_34250340: 我这里tolower过了,a和A都是一样的,如果你要分开的话那 int a[26]={0};要变成 int a[52]={0};了
一年多之前 回复
weixin_34250340
weixin_34250340 有大小写呢?
一年多之前 回复
u013104440
u013104440   2016.03.18 12:33

遍历啊,放到字典当中Dictionary

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!