我需要学习的东西还有很多,还是先把C语言的基础打好,
提示是统计一个字符串中的单词个数,比如字符串str = "
a 23d fg9fg 89 sdf "这里面a是单词,sdf有空格。
程序员就是要学会分析问题和解决问题,下面我们来分析问题。
str字符串中前面可能有空格,第一步:把前面的空格跳过
while (*str==' ')
{
str++;
}
从空格后的第一个字符开始看,可能是数字或者字母
如果是数字,就代表它所在的字符串不可能是单词了,所以我们只需要将指针移动到下一个空格处或者\0处即可
while(*str!='\0')
{
//数字
if (*str>='0'&&*str<='9')
{
while (*str!=' '&&*str!='\0')
{
str++;
}
while(*str==' ')
{
str++;
}
if(*str == '\0')
{
return wordCount;
break;
}
}
//字母
else if(*str>='a'&&*str<='z')
{
//循坏中还要判断下一个是否是字母
while(*str !=' '&&*str !='\0'&&(*str>='a'&&*str<='z'))
{
str++;
}
if(*str==' ')//可能会有多个空格
{
str++;
wordCount++;
}
if (*str=='\0')
{
wordCount++;
}
}
else if (*str==' ')
{
str++;
}
}
return wordCount;