用getline把字符串保存到一个string,一个char保存目标字符。 算法里,遍历string,把字符保存到哈希表里,key为字符,value为该字符出现的次数。 因为不区分大小写,所以用tolower函数全部转成小写处理。

#include <iostream>
#include <string>
#include <unordered_map>

void CountTimes(std::string& str, char target){
    std::unordered_map<char, int> map;
    for(char c : str){
        ++map[tolower(c)];
    }
    int res = map[tolower(target)];
    std::cout << res << std::endl;
}

int main(int argc, char* argv[]){
    std::string str;
    getline(std::cin, str);
    char target;
    std::cin >> target;
    CountTimes(str, target);
    return 0;
}