1009 说反话
作者:互联网
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入格式:
测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。
输出格式:
每个测试用例的输出占一行,输出倒序后的句子。
输入样例:
Hello World Here I Come
输出样例:
Come I Here World Hello
1 #include<iostream> 2 #include<vector> 3 #include<string> 4 5 using namespace std; 6 7 int main() { 8 vector<string> v; 9 string str; 10 getline(cin, str); //getline 是 string头文件里的成员函数,所以必须加上#include<string> 11 string tmp = ""; 12 for (int i = 0; i < str.length(); i++) { 13 if (str[i] == '\n') { 14 break; 15 } 16 else if (str[i] != ' ') { 17 tmp += str[i]; //字符串还能这么用。。。 18 } 19 else { //遇到空的位置,说明这个字符串读完了,用这种方法把长的字符串,分割成小的单独的字符串。 20 v.push_back(tmp); //把tmp里的字符串放到容器的最后 21 tmp = ""; //把tmp置空 22 } 23 } 24 v.push_back(tmp); //因为当读取到最后一个字符串的时候,因为没有空格, 25 //所以不会执行else里内容,需要手动把最后一个字符串push_back 26 27 /* 28 vector容器里是以字符串为一个一个的单位存取的。所以vector.size()得到的是vector 29 里面放的字符串的个数 比如:Hello World Here I Come 就是5 30 */ 31 32 for (int i = v.size() - 1; i >= 0; i--) { //vector类里面好像不包含length这个函数,在C++里面size和length功能一样 33 if (i != 0) { 34 cout << v[i] << " "; 35 } 36 else { 37 cout << v[i]; //最后一个字符串后面不能有空格 38 } 39 } 40 return 0; 41 }
标签:tmp,1009,空格,字符串,vector,str,反话,include 来源: https://www.cnblogs.com/oaoa/p/10658662.html