1. 程式人生 > >演算法筆記3.6 字串處理 PAT例題

演算法筆記3.6 字串處理 PAT例題

1009 說反話 (20 分)

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

輸入格式:

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

輸出格式:

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

輸入樣例:

Hello World Here I Come

輸出樣例:

Come I Here World Hello

程式碼:

#include<iostream>
#include<string>
using namespace std;
int main(){
	string ss;
	char ans[81][81];
	getline(cin,ss);//讀入一行字串
	int r=0,c=0;;
	//一下其實就是split的實現
	for(int i=0;i<ss.length();i++){
		if(ss[i]!=' '){
			ans[r][c++]=ss[i];
		}else{
			ans[r][c]='\0';
			r++;
			c=0;
		}
	}

	ans[r][c]='\0';
	for(int i=r;i>=0;i--){
		cout<<ans[i]<<" ";
	}
	cout<<endl;	
	return 0;
	
}