蓝桥杯 1094: 字符串的输入输出处理 Easy only once *注意输入输出的问题

基本思路:

难点在于怎么输入整行元素,主要考察空格和回车的读入和甄别;

 

关键点:

这里注意几点:

1.while(cin)和while(scanf)雷同,都可以进行EOF的判断;

2.在读取时要注意,cin>>n由于回车结尾,会导致下一个getline直接把回车都进去,所以要getchar进行处理;

3.整行读入的时候,getline更方便一点;

4.cpp和c输入场景灵活使用;

 

补充一点,getline看来是整体读入,如果读到回车符号,则中断;

所以在cin>>n后如果不把回车处理到,getline第一个读到的就是回车符号,直接就会中断,此时s为空字符串;

 

 

#include
#include
#include
#include 
#include
#include
#include
#include
using namespace std;
using std::vector;
vectorvec;


int main() {
	int n;
	cin >> n;
	getchar();
	string s;
	for (int i = 0; i < n; i++) {
		getline(cin, s);
		vec.push_back(s);
		//cout << s << endl;
	}
	while (cin >> s) {
		vec.push_back(s);
	}
	for (int i = 0; i < vec.size(); i++) {
		if (i == 0)
			cout << vec[i] << endl;
		else
			cout << endl << vec[i] << endl;
	}
	//system("pause");
	return 0;
}

  

你可能感兴趣的:(蓝桥杯 1094: 字符串的输入输出处理 Easy only once *注意输入输出的问题)