1009 說反話 (20) 時間限制 400 ms 內存限制 65536 kB 代碼長度限制 8000 B 判題程序 Standard 作者 CHEN, Yue 給定一句英語,要求你編寫程序,將句中所有單詞的順序顛倒輸出。
輸入格式:測試輸入包含一個測試用例,在一行內給出總長度不超過80的字符串。字符串由若干單詞和若干空格組成,其中單詞是由英文字母(大小寫有區分)組成的字符串,單詞之間用1個空格分開,輸入保證句子末尾沒有多余的空格。
輸出格式:每個測試用例的輸出占一行,輸出倒序后的句子。
輸入樣例: Hello World Here I Come 輸出樣例: Come I Here World Hello
這題本身有很多解法,我只寫了其中一種:
#include <iostream>#include <vector>#include <cstring>using namespace std;int main() { vector<string> svec; string Word; while (cin >> word) svec.push_back(word); for (vector<string>::iterator its = svec.end()-1; its != svec.begin(); its--){ cout << *its << " "; } cout << *svec.begin(); return 0;}這里需要注意的是cin>>word一次只讀取一個單詞,且不會刷新緩沖區,即換行,那么由此可得到cin的輸入是以空格、制表、換行符為界定的,與while(isblank(ch))有些相似,由這個特性,可以很方便的把一行中的輸入以單詞為單位直接切割開來。然后再反向輸出內容即可
新聞熱點
疑難解答