用C语言编写程序,对于一个句子字符串(不超过100个字符),所有字符中不含任何标点,单词之间以若干空格分隔,统计其中的单词个数。(提示:找每个单词结束位置) 程序输入若干句子,依次输出单词个数。 输入格式: 一行一个句子,输入可能多行。 输出格式: 输出单词个数,一个结果一行。
时间: 2023-06-14 10:02:47 浏览: 96
以下是使用C语言编写的程序,可以实现对输入的句子字符串进行单词个数统计,并输出结果:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int count_words(char *s);
int main() {
char s[MAX_LEN];
while (fgets(s, MAX_LEN, stdin)) {
int count = count_words(s);
printf("%d\n", count);
}
return 0;
}
int count_words(char *s) {
int count = 0;
int len = strlen(s);
for (int i = 0; i < len; i++) {
// 如果当前字符不是空格或换行符,则认为是一个单词的一部分
if (s[i] != ' ' && s[i] != '\n') {
// 如果下一个字符是空格或换行符,则说明当前单词结束,单词个数加一
if (s[i+1] == ' ' || s[i+1] == '\n') {
count++;
}
}
}
return count;
}
```
程序的主要思路是遍历输入的句子字符串,对于每个字符进行判断,如果当前字符不是空格或换行符,则认为是一个单词的一部分;如果下一个字符是空格或换行符,则说明当前单词结束,单词个数加一。最后返回计数结果即可。程序使用了fgets函数逐行读入输入,可以处理多行输入。
阅读全文