題目:
輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。
句子中單詞以空格符隔開。為簡單起見,標點符號和普通字母一樣處理。
例如輸入「i am a student.」,則輸出「student. a am i」。
思想:
首先將整個句子翻轉,然後再分別將每個單詞翻轉。
**:
//將字串中從left到right的子字串反轉
char *reversestring(char *string, int left, int right)
char ch;
int i = left;//標記要反轉的左邊位置
int j = right;//標記要反轉的右邊位置
while(i < j)
return string;
}char *reversestringwords(char *string)
//計算字串長度
int strlen = stringlength(string);
//將字串整個反轉
char *revstring = reversestring(string, 0, strlen-1);
int left = 0;//標記要反轉的子字串的左下標
int right = 0;//標記要反轉的子字串的右下標
while(right < strlen)
}return revstring;
}
注:**中所用到的求字串長度的stringlength()函式請看「
求字串長度」
翻轉句子中單詞的順序 面試題
題目描述 翻轉句子中單詞的順序,但單詞內字元的順序不變。句子中單詞以空格符隔開。為簡單起見,標點符號和普通字母一樣處理。如 i am a student.翻轉成 student.a am i 常見面試題 include include include includeusing namespace s...
經典面試題 翻轉英文句子中單詞的順序
題目 輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。句子中單詞以空格符隔開。為簡單起見,標點符號和普通字母一樣處理。例如輸入 i am a student.則輸出 student.a am i 思路 若字串中有n個空格符 則該字串可被空格符分割成n 1部分,比如字串 good lu...
程式設計師面試題精選 翻轉句子中單詞的順序
題目 輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。句子中單詞以空格符隔開。為簡單起見,標點符號和普通字母一樣處理。例如輸入 i am a student.則輸出 student.a am i 分析 由於編寫字串相關 能夠反映程式設計師的程式設計能力和程式設計習慣,與字串相關的問題...