PAT1009总结

来源:互联网 发布:php 文件名截断 编辑:程序博客网 时间:2024/06/08 07:01

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))有些相似,由这个特性,可以很方便的把一行中的输入以单词为单位直接切割开来。然后再反向输出内容即可

0 0