PTA乙级----1009 说反话

题目

PTA乙级----1009 说反话_第1张图片

分析

输入一句话,中间有空格,因此我们不可以用cin来进行输入,而应该使用getline.
cin>>与getline的工作方式,cin>>根据它后面的变量类型读取数据,从非空白符号开始,遇到Enter、Space、Tab键时结束。getline函数从istream中读取一行数据,当遇到“\n”时结束返回。

代码

#include 
#include 
#include 
using namespace std;

int main()
{
	vector v;
	string str;
	getline(cin, str);
	string tmp;

	for (int i = 0; i < str.length(); i++) {
		if (str[i] == '\n')		//当遇到\n表示已经到字符串末尾
			break;
		if (str[i] != ' ') {
			tmp += str[i];
		}
		else {
			v.push_back(tmp);
			tmp.clear();
		}
	}
	v.push_back(tmp);	


	for (int i = v.size() - 1; i >= 0; i--) {
		if (i != 0) {
			cout << v[i] << " ";
		}
		else {
			cout << v[i];
		}
	}


	return 0;
}

你可能感兴趣的:(PAT乙级)