从键盘输入一行字符(最长不超过80字符), 用函数编程统计其中单词(以空格作为间隔符的字符串)的个数。 例如How are you中单词个数为3。 要求: (1)按如下函数原型进行编程: int CountWords(char str[]) (2)在主函数中: 输入一行字符; 然后调用函数CountWords计算单词的个数; 最后打印计算结果。 **输入提示信息为:"Input a string:\n" **输出格式为:"Number of wor
时间: 2024-03-21 16:39:31 浏览: 50
ds = %d\n"
可以使用以下代码实现:
```c
#include <stdio.h>
#include <string.h>
int CountWords(char str[]) {
int count = 0;
int len = strlen(str);
int i;
// 如果第一个字符不是空格,那么就认为有一个单词
if (str[0] != ' ') {
count++;
}
// 统计单词数量
for (i = 1; i < len; i++) {
if (str[i] == ' ' && str[i - 1] != ' ') {
count++;
}
}
return count;
}
int main() {
char str[81];
int count;
printf("Input a string:\n");
fgets(str, 81, stdin);
count = CountWords(str);
printf("Number of words = %d\n", count);
return 0;
}
```
这里使用了 `fgets` 函数来读取输入的字符串,可以保证输入不超过 80 个字符。`CountWords` 函数用来统计单词数量,实现比较简单,主要是判断空格和上一个字符是否相同。最后在主函数中调用该函数,并输出计算结果。
阅读全文