蓝桥杯 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<iostream>
#include<stdlib.h>
#include<stdio.h>
#include<vector>
#include<string>
#include<math.h>
#include<algorithm>
#include<cstring>
using namespace std;
using std::vector;
vector<string>vec;
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;
}

浙公网安备 33010602011771号