103. 反轉單詞
時間限制 1000 ms
記憶體限制 65536 kb
題目描述
給出一句英文句子(只由大小寫字母和空格組成,不含標點符號,也不會出現連續的空格),請將其中的所有單詞順序翻轉
輸入格式
多組資料,以eof結束。
每行一句英文句子(確保只由大小寫字母和空格組成,不含標點符號,也不會出現連續的空格,字串總長度1000以內)
輸出格式
每組資料輸出一行,為反轉後的字串
輸入樣例
輸出樣例
思路:
1. 從後向前,依次對每個單詞進行反轉,以空格作為乙個單詞的結束符。
2. 每次輸出單詞時,以上一次的空格tmp為結束符(包括tmp),初始時tmp一定要等於字串的長度,這樣確保tmp初試時就為'\0', 因為為字串的結束符就是'\0'. 這樣便於後面的輸出。
3. 本題要求是對句子中的每個單詞反轉,句子中間含有空格,因此輸入時不能用scanf函式,只用用gets函式
4. scanf 和 gets 函式的區別:
scanf在讀入字串時,遇到空格和回車都會停止輸入,並將空格和回車clear.
而gets函式會接受空格這個字元,遇到回車停止,並自動清除回車
ac**:
#include#include#includeusing namespace std;
char str[1005];
int main(){
while(gets(str)!=null){
//gets()會將回車讀入,並自動去掉回車
int tmp = strlen(str); //tmp用來記錄空格的位置
for(int i=tmp;i>=0;i--)
{ if(str[i]==' ')
{for(int j=i+1;j<=tmp;j++)
cout<
字串反轉,單詞反轉
一 字串反轉,共蒐集了 7 種方法 public class stringreversed public static void reverse1 string s char c s.tochararray 方法二 for int i 0 i s.length 2 i for char l c sy...
字串單詞反轉
class solution param s,a string return a string def reversewords self,s if len s 0 return s s join s.split 去掉所有的空格,只保留字元 串 之間的空格 s s.strip strip 去掉字串兩...
字串 反轉單詞不反轉單詞內容
反轉句中的單詞 單詞內容不變 比如 輸入wuhan is dog 輸出 dog is wuhan 和字串迴圈左移類似 兩次反轉 先整體反轉 再用split函式 分割 再依次反轉合併 class solution public string fun string s stringbuffer sb n...