[PAT B] 1009 說反話

Squ1rrel發表於2019-12-25

題目

給定一句英語,要求你編寫程式,將句中所有單詞的順序顛倒輸出。

輸入格式:

測試輸入包含一個測試用例,在一行內給出總長度不超過 80 的字串。字串由若干單詞和若干空格組成,其中單詞是由英文字母(大小寫有區分)組成的字串,單詞之間用 1 個空格分開,輸入保證句子末尾沒有多餘的空格。

輸出格式:

每個測試用例的輸出佔一行,輸出倒序後的句子。

輸入樣例:

Hello World Here I Come

輸出樣例:

Come I Here World Hello

思路分析

簡單題,用棧輕鬆解決

注意 cin 緩衝區的輸入結束要用 cin.get() == '\n' 判斷

程式碼

#include <iostream>
#include <stack>

using namespace std;

int main() {
    stack<string> sk;
    string str;
    while (cin >> str) {
        sk.push(str);
        if (cin.get() == '\n') break;
    }
    while (!sk.empty()) {
        if (sk.size() == 1) cout << sk.top();
        else cout << sk.top() << " ";
        sk.pop();
    }

    return 0;
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結
辛勞 篤定 輕苦 微甜 ----汪曾祺

相關文章