输入一行字符串,统计其中有多少个单词,单词之间用一个或者多个空格分隔开
思想:使用变量num统计单词的个数,word判别是否为新单词标识,若word=0,表示未出现新单词,若出现新单词令word=1。
第一种情况:如果测出某一个字符为非空格,而他前面的字符为空格,则表示“新的单词开始了”,此时word = 1 , num 累加 1。
第二种情况:如果当前字符为非空格,而且其前面的字符也是非空格,则意味着仍然是原来的那个单词的继续,num不在累加1。
前面一个字符是否是空格可以从word的值看出来,若word等于0,则表示前一个字符是空格;若word为1,意味着前一个字符不是空格。
C语言代码如下
#include
void main()
{
char string[80];
int i,num=0,word=0;
char c;
gets(string);
for(i=0;(c=string[i])!='\0';i++)
{
if(c==' ')
word = 0;
else
if((c!=' ')&&(word == 0)) // if((word == 0)
{
word = 1;
num++;
}
}
printf("there are %d words\n",num);
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
