要統計字符串中單詞的個數,可以利用以下思路:
以下是一個示例代碼:
#include <stdio.h>
int countWords(char *str) {
int count = 0;
int isWord = 0; // 標記是否在單詞中
// 遍歷字符串中的每個字符
for (int i = 0; str[i] != '\0'; i++) {
// 判斷當前字符是否為空格或者標點符號
if (str[i] == ' ' || str[i] == ',' || str[i] == '.' || str[i] == '?' || str[i] == '!') {
isWord = 0; // 不在單詞中
}
else {
// 判斷前一個字符是否是字母或數字
if (i == 0 || str[i-1] == ' ' || str[i-1] == ',' || str[i-1] == '.' || str[i-1] == '?' || str[i-1] == '!') {
isWord = 1; // 在單詞中
count++; // 單詞計數器加1
}
}
}
return count;
}
int main() {
char str[] = "Hello, World! This is a string.";
int wordCount = countWords(str);
printf("The number of words in the string is: %d\n", wordCount);
return 0;
}
運行以上代碼,將輸出字符串中的單詞個數為7。