第10章实验 字符串
- 题目9.3:
输入一行字符,用函数编程统计其中有多少个单词。假设单词之间以空格分开。
1、解题思路:
主函数中,定义一个字符最大可输入81个字符,printf输入一串字符,用gets可以带空格输入,num计数等于调用外层函数,输出words的个数。外层函数,字符串中第一个字符若不为空格,记i=1,进入循环,while控制直到最后一个字符为\0,num计数,返回个数。
2、源代码:
#include <stdio.h>
int CountWords(char str[]);
int main()
{
char str[81];
int num;
printf("Input a string:\n");
gets(str);
num=CountWords(str);
printf("Number of words=%d\n", num);
return 0;
}
int CountWords(char str[])
{
int i, num;
num = str[0] != ' ' ? 1 : 0;
i=1;
while (str[i]!='\0')
{
if(str[i]!=' ' && str[i-1] == ' ')
{
num++;
}
i++;
}
return num;
}
3、程序运行效果截图: