#include <stdio.h>
#include <stdbool.h>
bool isletter(char ch)//判断该字符是否为字母
{
return (ch <= 'z' && ch >= 'a') || (ch <= 'Z' && ch >= 'A');
}
int main()
{
char str[100];
int i, num = 0;
char c;
printf("请输入一串字符:");
gets(str);//输入一个字符串给字符数组str
for (i = 0; (c = str[i]) != '\0'; )//只要字符不是'\0'就继续执行循环
{
if(isletter(str[i]))//是字母开头的单词
{
num++;
do {
i++;
} while (isletter(str[i]));//找到该单词最后一个字母位置的下一位
}
else //非字母直接跳过
{
i++;
}
}
printf("该字符串含有%d个单词\n", num); //输出单词数
return 0;
}