題目描述:jobdu最近來了乙個新員工fish,每天早晨總是會拿著一本英文雜誌,寫些句子在本子上。同事cat對fish寫的內容頗感興趣,有一天他向fish借來翻看,但卻讀不懂它的意思。例如,「student. a am i」。後來才意識到,這傢伙原來把句子單詞的順序翻轉了,正確的句子應該是「i am a student.」。cat對一一的翻轉這些單詞順序可不在行,你能幫助他麼?
輸入:每個測試案例為一行,表示一句英文句子。
我們保證乙個句子的單詞數不會超過600,每個單詞的長度也不會超過30。但是需要注意的是fish是個不拘小節的人,有時候兩個單詞中間可能會有很多空格。為了方便起見,你可以認為一行的字元總數不會超過50000個,標點符號可以和普通字母一樣處理。
輸出:對應每個測試案例,把翻轉後的正確的句子單獨輸出一行。
樣例輸入:
student. a am i樣例輸出:i'm a freshman and i like jobdu!
i am a student.【解析】jobdu! like i and freshman a i'm
* 日期:2013-11-29
* 題號: 題目1361:翻轉單詞順序
* 結果:ac
* 總結:
**********************************/
#include #include #include char *words;
//反轉單詞
void reverseword(char* words,int begin,int end)
//反轉
while(begin < end)
}char* reverse(char *words)
int len = strlen(words);
//反轉整個句子
reverseword(words,0,len-1);
//逐個反轉單詞
int begin = 0,end = 0,isfirst = 0;//begin 單詞第乙個字母下標 end 單詞最後乙個字母下標isfirst 判斷是不是單詞後第乙個空格
for(i = 0;i <= len;i++)
//單詞後第乙個空格或者乙個句子的結束
else if((isfirst == 1 && words[i] == ' ')|| words[i] == '\0')
//單詞
else
}return words;
}int main()
printf("\n");
}//while
return 0;
}
劍指Offer 翻轉單詞順序
題目描述 牛客最近來了乙個新員工fish,每天早晨總是會拿著一本英文雜誌,寫些句子在本子上。同事cat對fish寫的內容頗感興趣,有一天他向fish借來翻看,但卻讀不懂它的意思。例如,student.a am i 後來才意識到,這傢伙原來把句子單詞的順序翻轉了,正確的句子應該是 i am a stu...
劍指offer 翻轉單詞順序
輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。為簡單起見,標點符號和普通字母一樣處理。例如輸入字串 i am a student.則輸出 student.a am i 示例 1 輸入 the sky is blue 輸出 blue is sky the 示例 2 輸入 hello ...
劍指Offer 翻轉單詞順序
輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。為簡單起見,標點符號和普通字母一樣處理。例如輸入字串 i am a student.則輸出 student.a am i 示例 1 輸入 the sky is blue 輸出 blue is sky the 示例 2 輸入 hello ...