題目:
給定一句英語,要求你編寫程序,將句中所有單詞的順序顛倒輸出。
輸入格式:
測試輸入包含一個測試用例,在一行內給出總長度不超過 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;
}
}
}