求助getline
  • 板块学术版
  • 楼主Adolfo_North
  • 当前回复16
  • 已保存回复16
  • 发布时间2023/1/6 12:44
  • 上次更新2023/10/24 05:24:43
查看原帖
求助getline
616964
Adolfo_North楼主2023/1/6 12:44

为什么一下代码,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,其他不行。百度上也没有找到合适的。

2023/1/6 12:44
加载中...