从键盘输入一行字符(最长不超过80字符), 用函数编程统计其中单词(以空格作为间隔符的字符串)的个数。 例如How are you中单词个数为3。 要求: (1)按如下函数原型进行编程: int CountWords(char str[]) (2)在主函数中: 输入一行字符; 然后调用函数CountWords计算单词的个数; 最后打印计算结果。 **输入提示信息为:"Input a string:\n" **输出格式为:"Number of words=%d\n" 程序运行示例: Input a string: hello world↙ Number of words=2
时间: 2024-03-21 13:38:57 浏览: 88
好的,我明白了。这是一个统计单词个数的问题,我可以用以下代码实现:
```c
#include <stdio.h>
int CountWords(char str[]);
int main()
{
char str[81];
printf("Input a string:\n");
fgets(str, 81, stdin); // 从标准输入读入字符串
int count = CountWords(str);
printf("Number of words=%d\n", count);
return 0;
}
int CountWords(char str[])
{
int count = 0;
int i = 0;
while (str[i] != '\0')
{
if (str[i] == ' ') // 如果当前字符是空格,说明前面是一个单词,计数器加1
count++;
i++;
}
if (i > 0 && str[i - 1] != ' ') // 如果最后一个字符不是空格,说明最后还有一个单词,计数器加1
count++;
return count;
}
```
这个程序中,`CountWords` 函数接收一个字符串作为参数,通过遍历字符串的每一个字符,统计其中的单词个数。每当遇到一个空格,就说明前面是一个单词,计数器加1。最后还要判断一下最后一个字符是否是空格,如果不是,说明最后还有一个单词,计数器加1。
阅读全文