现在的位置: 首页 > 综合 > 正文

2013-07-14

2013年02月23日 ⁄ 综合 ⁄ 共 600字 ⁄ 字号 评论关闭

我需要学习的东西还有很多,还是先把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;

抱歉!评论已关闭.