稍微修改了一下就能完全运行成功

重点:1.用getline函数避免空格影响

2.判断对比字符是字母还是数字(ascii码值)

3.字母大小写+32和-32都要考虑

#include<iostream>
#include<string>

using namespace std;

int main()
{
    string str;
    char s;
    int count = 0;
    getline(cin,str);
    cin>>s;
    if(s>64)//判断对比字符是否为字母
    {
        for(int i=0;i<str.size();i++)
        {
            if(str[i] == s || str[i]+32 == s || str[i]-32==s)
            {
                count++;
            }
        }
    }
    else
    {
        for(int j=0;j<str.size();j++)
        {
            if(str[j]==s)
            {
                count++;
            }
        }
    }
    
    cout<<count<<endl;
    return 0;
}