開心IT面試題 翻轉句子中單詞的順序

2021-06-20 05:46:34 字數 810 閱讀 7477

題目:

輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。

句子中單詞以空格符隔開。為簡單起見,標點符號和普通字母一樣處理。

例如輸入「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 分析 由於編寫字串相關 能夠反映程式設計師的程式設計能力和程式設計習慣,與字串相關的問題...