下面是用C語言遞歸來求單詞個數的示例代碼:
#include <stdio.h>// 定義遞歸函數來計算單詞個數
int countWords(char str[]) {
static int wordCount = 0;
static int isWord = 0;
if (str[0] == '\0') {
return wordCount;
}
if (str[0] == ' ' || str[0] == '\n' || str[0] == '\t') {
isWord = 0;
} else if (isWord == 0) {
isWord = 1;
wordCount++;
}
countWords(str + 1); // 遞歸調用,移動到下一個字符
return wordCount;
}
int main() {
char str[] = "Hello World, this is a sentence.";
// 調用遞歸函數計算單詞個數
int numWords = countWords(str);
printf("單詞個數:%d\n", numWords);
return 0;
}
上述代碼中,我們定義了一個遞歸函數countWords來計算單詞個數。在每一次遞歸調用中,我們判斷當前字符是否為空格、換行符或制表符,如果是,則將isWord標記為0;否則,如果isWord為0,表示遇到了新的單詞,我們將其標記為1,并增加單詞計數器wordCount。
在主函數中,我們定義了一個示例字符串str,然后調用countWords函數來計算單詞個數,并將結果打印出來。
運行該代碼,將輸出結果為:單詞個數:6(根據示例字符串)。請確保在實際使用時將示例字符串替換為你要統計單詞個數的實際字符串。
下面是用C語言遞歸來求單詞個數的示例代碼:
#include <stdio.h>// 定義遞歸函數來計算單詞個數
int countWords(char str[]) {
static int wordCount = 0;
static int isWord = 0;
if (str[0] == '\0') {
return wordCount;
}
if (str[0] == ' ' || str[0] == '\n' || str[0] == '\t') {
isWord = 0;
} else if (isWord == 0) {
isWord = 1;
wordCount++;
}
countWords(str + 1); // 遞歸調用,移動到下一個字符
return wordCount;
}
int main() {
char str[] = "Hello World, this is a sentence.";
// 調用遞歸函數計算單詞個數
int numWords = countWords(str);
printf("單詞個數:%d\n", numWords);
return 0;
}
上述代碼中,我們定義了一個遞歸函數countWords來計算單詞個數。在每一次遞歸調用中,我們判斷當前字符是否為空格、換行符或制表符,如果是,則將isWord標記為0;否則,如果isWord為0,表示遇到了新的單詞,我們將其標記為1,并增加單詞計數器wordCount。
在主函數中,我們定義了一個示例字符串str,然后調用countWords函數來計算單詞個數,并將結果打印出來。
運行該代碼,將輸出結果為:單詞個數:6(根據示例字符串)。請確保在實際使用時將示例字符串替換為你要統計單詞個數的實際字符串。