#include "iostream"
#include "vector"
#include "sstream"
using namespace std;
int main(){
vector<string> vec;
string s,temp;
getline(cin,s,'\n');
stringstream ss(s);
while (ss >> temp) {
vec.push_back(temp);
}
for (int i = vec.size()-1; i >=0 ; i--) {
if (i != vec.size()-1) cout << " ";
cout << vec[i];
}
}
-
引入必要的头文件和使用命名空间:
- 程序开始时引入了
iostream
、vector
和sstream
头文件,分别用于标准输入输出、使用向量容器以及字符串流的操作。 - 使用
using namespace std;
使得标准库中的名称可以直接使用,而不需要std::
前缀。
- 程序开始时引入了
-
主函数定义:
main
函数是程序的入口点。
-
初始化变量:
- 定义了一个字符串向量
vec
,用来存储输入的单词。 - 定义了两个字符串
s
和temp
,其中s
用于存储整行输入,temp
用于存储单个单词。
- 定义了一个字符串向量
-
获取和处理输入:
- 使用
getline(cin, s, '\n')
读取一整行输入并存储在字符串s
中。 - 创建一个字符串流
ss
,并将字符串s
作为输入流,用于分割字符串中的单词。 - 使用循环从
ss
中逐个读取单词,并将它们推入向量vec
。
- 使用
-
反向输出单词:
- 通过一个逆序循环,从向量
vec
的末尾开始,遍历每个元素(单词)。 - 在每次输出单词之前,如果当前单词不是第一个单词(即不是原始输入的最后一个单词),则先输出一个空格,以保证单词间的分隔。
- 按照从后向前的顺序输出每个单词。
- 通过一个逆序循环,从向量