首页 > 学院 > 开发设计 > 正文

PAT1009总结

2019-11-08 02:53:18
字体:
来源:转载
供稿:网友

1009 说反话 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。

输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。

输出格式:每个测试用例的输出占一行,输出倒序后的句子。

输入样例: Hello World Here I Come 输出样例: Come I Here World Hello

这题本身有很多解法,我只写了其中一种:

#include <iostream>#include <vector>#include <cstring>using namespace std;int main() { vector<string> svec; string Word; while (cin >> word) svec.push_back(word); for (vector<string>::iterator its = svec.end()-1; its != svec.begin(); its--){ cout << *its << " "; } cout << *svec.begin(); return 0;}

这里需要注意的是cin>>word一次只读取一个单词,且不会刷新缓冲区,即换行,那么由此可得到cin的输入是以空格、制表、换行符为界定的,与while(isblank(ch))有些相似,由这个特性,可以很方便的把一行中的输入以单词为单位直接切割开来。然后再反向输出内容即可


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表