求给定字符串中包含单词的个数

字符串只包含0-9十个数字,26个英文字母,英文标点符号,
感叹号,逗号,句号,连接符,问号,双引号一共六个标点
符号。
标点符号不算单词,连接符连接的单词算多个,例如:hello_ni_hao.

这个算作三个单词。

例如:123q##qqq**345,这个也算三个单词。


#include
#include
#include


int My_words(char *inputstr, int lenght)
{
char word[64][256];
int i;
int j = 0;
int n = 0;
int flag = 0;
for(i=0; i<=lenght; ++i)
{
if(isalpha(inputstr[i])||isdigit(inputstr[i]))
{
flag = 0;
word[n][j] = inputstr[i];
++j;
}
else
{
flag++;
}
if(flag == 1)
{
word[n][j] = '\0';
if(1 == j)
{
n--;
}
n++;
j = 0;
}
}
return n;
}


int main(void)
{
char inputstr[256];
int length;
int num = 0;
printf("请您输入一行字符串:\n");
gets(inputstr);
length = strlen(inputstr);
if(length <= 0)
{
return 0;
}
num = My_words(inputstr, length);
printf("%d\n", num);
getchar();
return 0;
}

你可能感兴趣的:(求给定字符串中包含单词的个数)