1. 题目介绍
2. 思路
我想的是用字符串来存储单词,但还没养成使用栈、队列等的习惯,所以创建了大小为80的字符串数组。然后利用循环,依次将首尾字符串对换实现句子的倒序。
参考大佬的代码后,发现使用栈就方便多了。新技能get√
3. 具体代码实现
使用字符串数组:
#include<iostream>
#include<string>
using namespace std;
int main(){
string word[80]; //字符串数组用来存储单词
int i=0;
while(cin>>word[i])
i++;
for(int k=0,j=i-1;k<j;k++,j--){ //将数组倒序
string str=word[k];
word[k]=word[j];
word[j]=str;
}
for(int k=0;k<i;k++){
if(k!=0)
cout<<" ";
cout<<word[k];
}
return 0;
}
使用栈:
#include<iostream>
#include<string>
#include<stack>
using namespace std;
int main(){
stack<string> s;
string str;
while(cin>>str)
s.push(str);
cout<<s.top();
s.pop();
while(!s.empty()){
cout<<" "<<s.top();
s.pop();
}
return 0;
}