统计一行文本的单词个数
输入:
Let's go to room 209. 句子开头有空格,单词之间不一定空一格。
输出:
5
题目分析:
-
跳过开头的空格
-
遇到单词的第一个字母计数加一并跳过一个单词的其他字符。
-
在跳过一个单词的其他字符是的时候,要判断句子有没有结束。
-
单词之间有多个空格的话,多于不计
#include<iostream>
int main()
{
char str[1001];
gets(str);
int count=0;
int i=0;
while(str[i]==' ') //跳过开头的空格
i++;
while(str[i]!='\0') //"\0"是结束标识符
{
if(str[i]!=' ')
{
count++;
while(str[i]!=' ') //跳过一个单词的其他字符
{
if(str[i]=='\0') //判断句子有没有结束,这句很重要,漏掉后出现严重错误,
break;
i++;
}
}
else //如果单词之间有多个空格的话,多于不计
{
while(str[i]==' ' )
i++;
}
}
std::cout<<count<<'\n';
return 0;
}