翻轉句子中單詞的順序

2021-05-26 19:10:01 字數 759 閱讀 2396

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

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

例子: 輸入 " i am a student."  輸出"student. a am i"

實現**:

#include #include #include #define len 1000

int main()

; char *snt_rev = null;

char *p, *q;

int len;

printf("input the sentence : ");

gets(snt);

len = strlen(snt);

snt_rev = (char *)malloc((len + 1)*sizeof(char));

memset(snt_rev, '\0', len+1);

p = &snt[len];

q = p;

while(p != &snt[0])

strncat(snt_rev, p+1, q-p);

p --;

q = p;

snt_rev[strlen(snt_rev)] = ' ';

} strncat(snt_rev, snt, q - &snt[0] + 1);

printf("reversed: %s\n", snt_rev);

}

翻轉句子中單詞的順序

題目 輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。句子中單詞以空格符隔開。為簡單起見,標點符號和普通字母一樣處理。例如輸入 i am a student.則輸出 student.a am i 分析 由於編寫字串相關 能夠反映程式設計師的程式設計能力和程式設計習慣,與字串相關的問題...

翻轉句子中單詞的順序

程式設計師面試題精選 07 翻轉句子中單詞的順序 題目 輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。句子中單詞以空格符隔開。為簡單起見,標點符號和普通字母一樣處理。例如輸入 i am a student.則輸出 student.a am i 分析 由於編寫字串相關 能夠反映程式設...

翻轉句子中單詞的順序

翻轉句子中單詞的順序。題目 輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。句子中單詞以空格符隔開。為簡單起見,標點符號和普通字母一樣處理。例如輸入 i am a student.則輸出 student.a am i 第乙個想法是借助棧實現,每解析乙個單詞壓棧,解析完依次出棧,要求額...