用C语言编写程序,对于一个句子字符串(不超过100个字符),所有字符中不含任何标点,单词之间以若干空格分隔,统计其中的单词个数。(提示:找每个单词结束位置) 程序输入若干句子,依次输出单词个数。 输入格式: 一行一个句子,输入可能多行。 输出格式: 输出单词个数,一个结果一行。
时间: 2023-06-14 16:02:31 浏览: 97
C语言字符/字符串相关函数收藏大全
以下是用C语言编写的程序,可以实现上述功能:
```c
#include <stdio.h>
#include <string.h>
int count_words(char sentence[]) {
int count = 0;
int len = strlen(sentence);
int i = 0;
while (i < len) {
// 找到单词的起始位置
while (i < len && sentence[i] == ' ') {
i++;
}
// 找到单词的结束位置
int j = i;
while (j < len && sentence[j] != ' ') {
j++;
}
// 如果找到了单词,计数器加1
if (j > i) {
count++;
}
i = j;
}
return count;
}
int main() {
char sentence[100];
while (fgets(sentence, sizeof(sentence), stdin)) {
int count = count_words(sentence);
printf("%d\n", count);
}
return 0;
}
```
程序中,我们定义了一个 `count_words` 函数,用于统计一个句子中的单词个数。函数中,我们使用两个指针 `i` 和 `j`,分别指向单词的起始位置和结束位置。通过遍历整个句子字符串,我们可以找到所有的单词,并统计它们的个数。
在 `main` 函数中,我们使用 `fgets` 函数从标准输入中读取多行输入,对于每一行输入,调用 `count_words` 函数统计单词个数,并将结果输出到标准输出中。
注意,程序中我们使用了字符串处理函数 `strlen` 和 `fgets`,需要包含头文件 `<string.h>` 和 `<stdio.h>`。
阅读全文