題目要求:輸入一個句子,要求將句子每個單詞順序反過來
例如:
輸入:pig loves dog
輸出:dog loves pig
思路:
寫一個將單詞反轉的函數f,首先將整個輸入反轉變成god sevol gip,然後將每個單詞用函數f反轉,得到dog loves pig
代碼實現:
#include<iostream>
#include<string>
using namespace std;
void jiaohuan(string &s) { int size = s.size(); for(int i=0;i<size/2;i++) { char tmp; tmp = s[i]; s[i] = s[size - i -1]; s[size - i - 1] = tmp; } } int main() { string A = "pig loves dog"; jiaohuan(A); string C; cout<<A<<endl; int flag = A.find(" "); int inx = 0; while(flag!= string::npos)//對除了最後一個單詞進行操作 { string tmp; for(int i=inx;i<flag;i++) tmp = tmp + A[i]; jiaohuan(tmp); inx = flag+1; C = C + tmp + " "; flag = A.find(" ",flag + 1); } string tmp2;//這是爲了最後一個單詞 for(int j = inx;j<A.size();j++) tmp2 += A[j]; jiaohuan(tmp2); C += tmp2; cout<<C<<endl; }