题目描述

写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字母,然后输出输入字符串中该字母的出现次数。不区分大小写。

题目只问了字母的个数,比较简单,for循环遍历计数
考虑大小写问题就行

#include<iostream>
#include<unordered_map>
using namespace std;
int main(){
    string str; 
    getline(cin,str);
    char ch; cin>>ch;
    int x='a'-'A';
    int count=0;
    if(ch>='a'&&ch<='z'){//如果是小写
        for(auto i:str)
            if(i==ch||i==(ch-x))//搜索本身和大写形式
                count++;}
    else{//如果是大写
        for(auto i:str)
            if(i==ch||i==(ch+x))//搜索本身和小写形式
                count++;}
    cout<<count;
    return 0;
}

看到题目提示哈希表 也可以 但没必要吧