题解 | #统计字符串中各字母字符对应的个数#

统计字符串中各字母字符对应的个数

https://www.nowcoder.com/practice/ec2a5ab818be4851948d5b0d83a3d8f4

#include <iostream>
// write your code here......
#include <map>
using namespace std;

int main() {

    char str[100] = { 0 };
    cin.getline(str, sizeof(str));
    map<char,int> char_num; //创建map容器,键存储字符,值存储个数
    for(int i =0;i<26;i++)
    {
        char_num.insert(make_pair(65+i,0));
    }
    for(int j=0;j<26;j++)
    {
        char_num.insert(make_pair(97+j,0));
    }
  //通过两次循环将所需统计的键值对加入,并将值初始化为0
    for(int k =0;k<sizeof(str)/sizeof(char);k++)
    {
        if(char_num.count(str[k]))
        {
            char_num[str[k]]++;
        }
    }
  //使用count函数,当存在时,对应值加1
    for(auto &char_temp:char_num)//利用基于范围的循环将非零的键值对输出
    {
        if(char_temp.second!=0)
        {
            cout<<char_temp.first<<":"<<char_temp.second<<endl;
        }
    }
    // write your code here......
    

    return 0;
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务