【HJ13】句子逆序
阿新 • • 發佈:2021-01-04
題目描述
將一個英文語句以單詞為單位逆序排放。例如“I am a boy”,逆序排放後為“boy a am I”
所有單詞之間用一個空格隔開,語句中除了英文字母外,不再包含其他字元
輸入描述:
輸入一個英文語句,每個單詞用空格隔開。保證輸入只包含空格和字母。
輸出描述:
得到逆序的句子
示例1
輸入
I am a boy
輸出
boy a am I
題解思路
利用 strtok 函式分割每行字串,用 C++ stack 儲存及輸出逆序的字串。
程式碼實現
#include <iostream>
#include <cstring>
#include <string>
#include <stack>
int main()
{
using namespace std;
char strs[1000] = {0};
stack<string> st;
const char * patterm = " ";
while(cin.getline(strs, 1000)) {
char *p = strtok(strs, patterm);
while(p) {
st.push(p);
p = strtok(nullptr, patterm);
}
while(!st.empty()) {
cout << st.top() << " ";
st.pop();
}
}
return 0;
}