用c语言编写:对于一个句子字符串(不超过100个字符),所有字符中不含任何标点,单词之间以若干空格分隔,统计其中的单词个数。(提示:找每个单词结束位置) 程序输入若干句子,依次输出单词个数。 输入格式: 一行一个句子,输入可能多行。 输出格式: 输出单词个数,一个结果一行。 输入样例: I am a slow walker but I never walk backwards I LOVE YOU 输出样例: 10 3
时间: 2023-06-12 12:04:46 浏览: 125
头歌c语言实验之字符串中的单词数.zip
以下是使用 C 语言编写的程序:
```c
#include <stdio.h>
#include <string.h>
int countWords(char* sentence) {
int len = strlen(sentence);
int count = 0;
int i = 0;
while (i < len) {
// 跳过空格
while (i < len && sentence[i] == ' ') {
i++;
}
// 找到单词结束位置
int j = i;
while (j < len && sentence[j] != ' ') {
j++;
}
// 找到一个单词
if (j > i) {
count++;
}
i = j;
}
return count;
}
int main() {
char sentence[100];
while (fgets(sentence, 100, stdin)) {
int count = countWords(sentence);
printf("%d\n", count);
}
return 0;
}
```
程序中 `countWords` 函数用于统计单词个数,输入的句子字符串为 `sentence`。函数中使用双指针方法,依次遍历字符串中的每个字符,找到每个单词的结束位置。在 `main` 函数中,使用 `fgets` 函数依次读入每个句子,并输出单词个数。
注意,本程序假设输入的句子字符串不超过 100 个字符。
阅读全文