C语言单词倒序输出374


在C语言中,单词倒序输出是一個常見的程式設計練習。它涉及到將輸入字串中每個單詞的字母順序反轉,同時保持單詞之間的空格。以下是一些實現此功能的步驟:

1. 獲取輸入字串

首先,你需要獲取要反轉的字串。這可以用`gets()`函數來實現,該函數會將使用者輸入的字串儲存在字元陣列中。
char input[100];
gets(input);

2. 計算字串長度

要反轉字串,你需要知道它的長度。這可以用`strlen()`函數來實現,該函數會返回字串中字元的個數。
int length = strlen(input);

3. 分割字串成單詞

接下來,你需要將字串分割成單獨的單詞。你可以使用`strtok()`函數來實現,它會使用一個分隔符將字串分割成令牌。
char *word = strtok(input, " ");
while (word != NULL) {
// 對每個單詞執行反轉操作
word = strtok(NULL, " ");
}

4. 反轉每個單詞

對於每個單詞,你需要反轉它的字母順序。這可以用一個簡單的迴圈來實現,該迴圈會交換每個字母的順序。
int start = 0;
int end = strlen(word) - 1;
while (start < end) {
char temp = word[start];
word[start] = word[end];
word[end] = temp;
start++;
end--;
}

5. 將反轉的單詞連接起來

反轉所有單詞後,你需要將它們連接起來以形成反轉後的字串。這可以用`strcat()`函數來實現,它會將一個字串附加到另一個字串的末尾。
char reversed[100];
strcpy(reversed, "");
while (word != NULL) {
strcat(reversed, word);
strcat(reversed, " ");
word = strtok(NULL, " ");
}

6. 輸出結果

最後,你可以使用`puts()`函數輸出反轉後的字串。
puts(reversed);

範例程式碼

以下是一個完整的範例程式碼,演示了如何在C語言中實現单词倒序输出:
#include
#include
int main() {
char input[100];
gets(input);
int length = strlen(input);
char *word = strtok(input, " ");
while (word != NULL) {
int start = 0;
int end = strlen(word) - 1;
while (start < end) {
char temp = word[start];
word[start] = word[end];
word[end] = temp;
start++;
end--;
}
word = strtok(NULL, " ");
}
char reversed[100];
strcpy(reversed, "");
while (word != NULL) {
strcat(reversed, word);
strcat(reversed, " ");
word = strtok(NULL, " ");
}
puts(reversed);
return 0;
}

2024-10-29


上一篇:C 语言中函数的返回值

下一篇:C 语言巧读文件,畅读信息无阻碍