从键盘输入一行字符(最长不超过 200 字符),用函数编程统计其中单词(以空格 作为间隔符的字符串)的个数。例如 How are you 中单词个数为 3 。
要求:
- 按如下函数原型进行编程:int CountWords(char str[])
- 在主函数中:输入一行字符 ;然后调用函数 CountWords 计算单词的个数 ;最 后打印计算结果。
- 输入提示信息为: "Input a string:\n"
- 输出格式为 :"Number of words=%d\n"
从键盘输入一行字符(最长不超过 200 字符),用函数编程统计其中单词(以空格 作为间隔符的字符串)的个数。例如 How are you 中单词个数为 3 。
要求:
需要考虑字符串中存在多个空格的情况。运行结果:
代码:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int CountWords(char str[])
{
int cnt = 0; //单词数
int i = 0;
for (i = 0; str[i] != '\0'; i++)
{
if (i == 0 && str[i] != ' ') //第一个字符不是空格
cnt++;
else if (i > 0)
{
if (str[i - 1] == ' ' && str[i] != ' ')//前一个字符是空格,当前字符不是空格
cnt++;
}
}
return cnt;
}
int main()
{
int n = 0;
char str[1000] = { 0 };
printf("Input a string:\n");
gets(str);
n = CountWords(str);
printf("Number of words=%d\n", n);
return 0;
}