1009 說反話 測試點1、4錯誤?顛倒字符串單詞,識別字符串 PTAbasic 浙大C++

題目:
給定一句英語,要求你編寫程序,將句中所有單詞的順序顛倒輸出。
輸入格式:
測試輸入包含一個測試用例,在一行內給出總長度不超過 80 的字符串。字符串由若干單詞和若干空格組成,其中單詞是由英文字母(大小寫有區分)組成的字符串,單詞之間用 1 個空格分開,輸入保證句子末尾沒有多餘的空格。
輸出格式:
每個測試用例的輸出佔一行,輸出倒序後的句子。

輸入樣例:
Hello World Here I Come

輸出樣例:
Come I Here World Hello

分析:
1、如何輸入含空格的字符串
①cin遇空格停止。
②可以用cin.get()或cin.getline()遇回車停止,接收char數組。
③getline()接收string型。
2、測試點1格式錯誤?
每個單詞輸出的時候含字符串中的空格和自己加的空格。
3、測試點4答案錯誤?
cin.get()或cin.getline()有最長限制,設置80出錯,設置大一點。

代碼:

#include<iostream>
#include<cstring>
using namespace std;

int main(){
	char st[80];
	cin.getline(st,80);
	int len=strlen(st);
	//cout<<len<<endl;
	int last=len-1;
	for(int i=len-1;i>=0;i--){
		
		if(st[i-1]==' '||i==0){
			for(int j=i;j<=last;j++){
				cout<<st[j];
			}
			if(i!=0)
				cout<<" ";
			last=i-2;
		}
	} 
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章