題目描述
給定一句英語,要求你編寫程序,將句中所有單詞的順序顛倒輸出。
輸入格式:
測試輸入包含一個測試用例,在一行內給出總長度不超過 80 的字符串。字符串由若干單詞和若干空格組成,其中單詞是由英文字母(大小寫有區分)組成的字符串,單詞之間用 1 個空格分開,輸入保證句子末尾沒有多餘的空格。
輸出格式:
每個測試用例的輸出佔一行,輸出倒序後的句子。
輸入樣例:
Hello World Here I Come
輸出樣例:
Come I Here World Hello
思路解析
- 將數據整行讀入;
for
循環倒序,依據空格將單詞劃分出來並輸出;- 第一個單詞前面沒有空格,需要單獨拿出來;
C++實現
#include <iostream>
using namespace std;
int main() {
string input_data;
getline(cin, input_data);
int end_local = input_data.length()-1;
// cout<<end_local;
for(int i=input_data.length()-1; i>=0; i--){
if(input_data[i]==' '){
for(int j=i; j<end_local; j++){
cout<<input_data[j+1] ;
}
cout<<' ';
end_local = i-1;
}
if(i==0){
for(int j=i; j<=end_local; j++){
cout<<input_data[j];
}
}
}
return 0;
}
Python實現
input_data = input().split(" ")
len_data = len(input_data)
for i in range(len_data):
if i+1==len_data:
print(input_data[-(i+1)], end="")
else:
print(input_data[-(i+1)], end=" ")