为什么一下代码,getchar(),读不掉换行,但getline可以,洛谷IDE测得。
题目:P2264 情书
样例:
输入 #1
3
love
so
much
I love you so much.
输出 #1
3
代码
#include<iostream>
#include<unordered_map>
using namespace std;
unordered_map<string,bool> a;
unordered_map<string,bool> b;
string s(string x){
for(int i=0;i<x.size();i++){
if(x[i]>='A'&&x[i]<='Z'){
x[i]+=32;
}
}
return x;
}
int main()
{
int n,cnt=0;
cin>>n;
string c,d="";
while(n--){
cin>>c;
c=s(c);
a[c]=1;
}
getline(cin,c);//这里要读调一个换行
getline(cin,c);
b=a;
c=s(c);
int sizec=c.size();
for(int i=0;i<sizec;i++){
if(c[i]==' '||c[i]==','){
if(b[d]) {
cnt++;
b[d]=0;
}
d="";
}
else if(c[i]=='.'){
if(b[d]) cnt++;
d="";
b=a;
}
else d+=c[i];
}
cout<<cnt;
return 0;
}
另求DEV-CPP,本人的CPP是5.11版本的,求助有没有更高版本的,只要DEV-CPP,其他不行。百度上也没有找到合适的。