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