要求输入一段字符串,统计字符串中单词的个数!
#include<stdio.h>
#include<string.h>
int IsChar(char ch)
{
if((ch>='a')&&(ch<='z')||(ch>='A')&&(ch<='Z'))
{
return 1;
}
else
{
return 0;
}
}
int main(int argc,char *argv[])
{
char buf[256]={0};
int state = 0;
int num = 0;
int i=0;
gets(buf);
printf("buf=%s\n",buf);
for(i=0;i<sizeof(buf);i++)
{
if(state == 0) //非单词状态
{
if(IsChar(buf[i]))
{
state =1;
}
else
{
state =0 ;
}
}
else// 单词状态
{
if(IsChar(buf[i]))
{
state =1;
}
else
{
state =0 ;
num++;
}
}
}
printf("num=%d\n",num);
return 0;
}
程序很简单,但提供了一种新的思考方式,state为0表示非单词状态,为1表示为单词状态,记录一下!