林惜城


私信TA

用户名:reminder

访问量:5874

签 名:

等  级
排  名 244
经  验 4868
参赛次数 0
文章发表 95
年  龄 0
在职情况 学生
学  校 西安电子科技大学
专  业

  自我简介:

哈姆


解题思路:

(1)带空格的要用 cin.getline() 接收输入,接收完就输出。

(2)不带空格的直接用 cin 接收输入,接受完就输出。


注意事项:

输入完 N 后要用 getchar() 接收后面紧跟的回车,不然就会把这个回车视为 getline() 接收的部分,多输出两个回车,而且占用 N 中的一个。


参考代码:

// 题目 1094: 字符串的输入输出处理
#include <iostream>
#include <cstring>

using namespace std;

int main() {
	string str;
	int N = 0;
	cin >> N;
	getchar(); // 把 'N' 和 '\n' 一起放进缓冲区,避免多输出两个回车
	while (N-- && getline(cin, str)) {
		cout << str << endl << endl; // 输出带空格的
	}
	while (cin >> str) {
		cout << str << endl << endl; // 输出不带空格的
	}
	return 0;
}


 

0.0分

2 人评分

  评论区