1- Description
将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”
所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符
接口说明
/**
*反转句子
*@param sentence 原句子
*@return 反转后的句子
*/
public String reverse(String sentence);输入描述:
将一个英文语句以单词为单位逆序排放。
输出描述:
得到逆序的句子示例1:
输入:
I am a boy
输出:
boy a am I
2- Solution
- 注意是句子逆序输出,不是字符串直接反转输出!
- getline(cin,strin)带空格输入字符串,并且反序输出
#include <iostream>
#include <string>
using namespace std;
int main(){
string strin;
while(getline(cin,strin)){
for(int i = strin.length() - 1; i >= 0 ; --i){
cout <<strin[i];
}
}
}
- 这里需要注意的就是要等着while循环把所有的字符串输入进来。再进行剩下的输出操作
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main(){
string strin;
vector<string> strvec;
while(cin >> strin){
strvec.push_back(strin);//字符串输入
}
for(int i = strvec.size() - 1; i >= 0 ; --i){
cout <<strvec[i];
if(i > 0){
cout << " ";
}
}
}
欢迎关注公众号:CodeLab