C语言统计单词个数
1个回答
展开全部
根据英语的书写习惯,在每个单词前后都会有空格分隔。 所以可以依据空格来划分单词。
不过,由于空格可能存在连续多个,所以仅统计空格数是不可以的,需要更复杂一些的算法。
一、算法设计:
核心思想是通过一个flag,来确定单词的起始, 每出现一个单词的起始,则表示存在一个单词。 这样统计出现的单词起始个数,即可获得单词总数。
1、flag初始为1;
2、遍历字符串。
3、对于每个字符,如果出现非空格字符,且flag为1,则为单词起始,累加计数器。同时赋值flag为0。
4、在flag为0情况下,如果出现空格,表示上一个单词已经结束,设置flag为1。
5、 遍历结束后输出结果。
二、参考代码:
#include <stdio.h>
int main()
{
char s[200];
int i,n=0,flag=1;
gets(s);//输入字符串。
for(i = 0; s[i]; i ++)//遍历
{
if(flag == 1)
{
if(s[i] != ' ')//单词起始
{
n++;
flag = 0;
}
}
else if(s[i] == ' ')//上一个单词结束。
flag = 1;
}
printf("%d\n", n);//输出结果。
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询