稍微修改了一下就能完全运行成功
重点: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;
}