美文网首页
写一个函数,计算给定的一个字符串里各字母出现的频率

写一个函数,计算给定的一个字符串里各字母出现的频率

作者: XYZ7 | 来源:发表于2017-03-03 22:14 被阅读0次
    #include <iostream>
    
    #define N 26                //26个字母
    
    using namespace std;
    
    int main(int argc, const char * argv[]) {
        
        string str = "HelloWorld";
        int num[N] = {0};
        
        int strSize = (int)str.size();              //获得字符串长度,避免后面重复计算
        
        for(int i = 0;i < str.size() ; i++) {
            if('A' <= str[i] && str[i] <= 'Z')      //字母为大写
                num[str[i] - 'A']++;
            else if('a' <= str[i] && str[i] <= 'z') //字母为小写
                num[str[i] - 'a']++;
            else {                                  //异常检查,输入的str含有非字母字符直接退出
                cout<<"字符串中包含非字母字符,非法"<<endl;
                return 0;
            }
        }
        
        for(int i = 0;i < N;i++)
            cout<<(char)(i + 'A')<<" : "<<(num[i] * 1.0) / strSize<<endl;   //输出各个字母出现的频率
        
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:写一个函数,计算给定的一个字符串里各字母出现的频率

          本文链接:https://www.haomeiwen.com/subject/xkpcgttx.html