給定一句英語,要求你編寫程式,將句中所有單詞的順序顛倒輸出。
測試輸入包含乙個測試用例,在一行內給出總長度不超過500 000的字串。字串由若干單詞和若干空格組成,其中單詞是由英文本母(大小寫有區分)組成的字串,單詞之間用若干個空格分開。
每個測試用例的輸出佔一行,輸出倒序後的句子,並且保證單詞間只有1個空格。
hello world here i come
come i here world hello
#include#includeusing namespace std;void trim(string &s);
int main()
{ string str;
getline(cin,str);
trim(str);
int len = str.length();
int begin,i;
int end = len-1;
for(begin=len-2;begin>0;begin--){
if(str[begin]==' '&&str[begin+1]!=' '){
for(i=begin+1;i<=end;i++)
coutstring str;
str.length()//獲取字串長度
str.begin()//獲取第乙個字元
str.end()//獲取最後乙個字元
reverse(str.begin(),str.end())//str倒置
str.c_str()//字串string轉字元陣列char
str.find(char c,int n)//從str[n]往後查詢字元c,返回第乙個 c出現的位置
string st2("aabcbcabcbabcc");
str1 = "abc";
cout << st2.find(str1, 2) << endl;//6,從st2的位置2(b)開始匹配,返回第一次成功匹配時匹配的串(abc)的首字元在st2中的位置,失敗返回-1
cout << st2.find("abcdefg", 2, 3) << endl;//6 取abcdefg得前3個字元(abc)參與匹配,相當於st2.find("abc", 2)str.rfind(char c ,int n)//從str[n]向前查詢,直到串首
str.find_first_of(string str1,int n)//在源串中從位置n起往後查詢,只要在源串中遇到乙個字元,該字元與目標串中任意乙個字元相同,就停止查詢,返回該字元在源串中的位置;若匹配失敗,返回-1。
find_last_of-與find_first_of函式相似,只不過查詢順序是從指定位置向前
string str6("bcgjhikl");string str7("kghlj");
cout << str6.find_first_of(str7, 0) << endl;//2,從str1的第0個字元b開始找,g與str2中的g匹配,停止查詢,返回g在str1中的位置2
說反話 加強版
給定一句英語,要求你編寫程式,將句中所有單詞的順序顛倒輸出。測試輸入包含乙個測試用例,在一行內給出總長度不超過500 000的字串。字串由若干單詞和若干空格組成,其中單詞是由英文本母 大小寫有區分 組成的字串,單詞之間用若干個空格分開。每個測試用例的輸出佔一行,輸出倒序後的句子,並且保證單詞間只有1...
PTA 說反話 加強版
給定一句英語,要求你編寫程式,將句中所有單詞的順序顛倒輸出。測試輸入包含乙個測試用例,在一行內給出總長度不超過500 000的字串。字串由若干單詞和若干空格組成,其中單詞是由英文本母 大小寫有區分 組成的字串,單詞之間用若干個空格分開。每個測試用例的輸出佔一行,輸出倒序後的句子,並且保證單詞間只有1...
PTA 說反話 加強版
給定一句英語,要求你編寫程式,將句中所有單詞的順序顛倒輸出。輸入格式 測試輸入包含乙個測試用例,在一行內給出總長度不超過500 000的字串。字串由若干單詞和若干空格組成,其中單詞是由英文本母 大小寫有區分 組成的字串,單詞之間用若干個空格分開。輸出格式 每個測試用例的輸出佔一行,輸出倒序後的句子,...