1. 程式人生 > >句子反轉(“hello xiao mi”-> “mi xiao hello”)

句子反轉(“hello xiao mi”-> “mi xiao hello”)

題目描述
給定一個句子(只包含字母和空格), 將句子中的單詞位置反轉,單詞用空格分割, 單詞之間只有一個空格,前後沒有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello”
輸入描述:
輸入資料有多組,每組佔一行,包含一個句子(句子長度小於1000個字元)
輸出描述:
對於每個測試示例,要求輸出句子中單詞反轉後形成的句子
示例1
輸入

hello xiao mi
輸出

mi xiao hello

#include<iostream>
#include<string>
using namespace std;
int
main() { string str; while(getline(cin,str)) { int pos=str.length()-1; for(int i=pos;i>0;i--) { if(str[i]==' ') { cout<<str.substr((i+1),(pos-i))<<' '; pos=i-1; } } cout
<<str.substr(0,pos+1)<<endl; } return 0; }

substr (C++語言函式)
substr是C++語言函式,主要功能是複製子字串,要求從指定位置開始,並具有指定的長度。如果沒有指定長度_Count或_Count+_Off超出了源字串的長度,則子字串將延續到源字串的結尾。
詳情:
https://baike.baidu.com/item/substr/2171?fr=aladdin