帮我写一段计算语句中有几个英语单词(语句中可能有多余的空格)c语言
时间: 2024-03-23 12:39:35 浏览: 61
用c语言实现 计算一个字符串中单词的个数
5星 · 资源好评率100%
当然可以,以下是一段C语言代码,能够计算一段文本中有多少个英语单词(语句中可能有多余的空格):
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int count_english_words(char* text) {
int count = 0;
int i, j;
for (i = 0; text[i] != '\0'; i++) {
// 跳过空格和标点符号
while (isspace(text[i]) || ispunct(text[i])) {
i++;
}
// 统计单词数量
for (j = i; text[j] != '\0' && !isspace(text[j]) && !ispunct(text[j]); j++) {
continue;
}
if (j > i) {
count++;
i = j - 1;
}
}
return count;
}
int main() {
char text[] = "This is a sentence with extra spaces. There are 9 words in it.";
int count = count_english_words(text);
printf("There are %d English words in the text.\n", count);
return 0;
}
```
你只需要将需要计算的文本作为函数 `count_english_words` 的参数传递进去,它就会返回文本中英文单词的数量。注意,这个函数假设文本只包含ASCII字符。如果文本中包含Unicode字符,你可能需要对代码进行修改。
阅读全文