PAT-1009.說反話(20)

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

輸入格式:

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

輸出格式:

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

輸入樣例:

Hello World Here I Come

輸出樣例:

Come I Here World Hello


C++示例代碼:

#include<iostream>
#include<string>
#include<cctype>
using namespace std;
int main() {
	char s[81];
	fgets(s,81,stdin);
	
	char *p = s;
	char *i;
	while(*++p);//指針後移到字符串末尾 
	while(p>s) {
		while(isspace(*--p));//找到單詞的結尾 
		while(p>s && !isspace(*(p-1))) {
			p--;
		}//找到這個單詞的開頭
		for(i=p;*i && !isspace(*i);putchar(*i++));//打印這個單詞 
		putchar(p==s ? '\0' : ' ');
	}
	
	return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章