天天看點

PTA-1009 說反話 (20 分) (stringstream使用)

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

輸入格式:

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

輸出格式:

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

輸入樣例:

Hello World Here I Come
           

輸出樣例:

Come I Here World Hello
           

代碼

#include <iostream>
#include <algorithm>
#include <sstream>
#include <string>
#include <vector>
using namespace std;
vector<string> vec;
int main() {
    string S;
    stringstream ss;
    vec.resize(100);
    getline(cin, S);
    ss.clear();
    ss.str(S);
    int k = 0;
    while(true) {
        ss >> vec[k]; // ss以空格為分隔符分割字元串
        if(ss.fail()) break;
        k++;
    }
    for(int i = k - 1; i >= 0; i--) { 
        cout << vec[i] << " \n"[i == 0];
    }
    return 0;
}