输入一行字符,统计其中英文单词的个数。单词之间以空格为间隔。
/*16.输入一行字符,统计其中英文单词的个数。单词之间以空格为间隔。*/
#include <stdio.h>
#include <string.h>
int main()
{
char ch[100]; //用于接收输入字符
int count = 0, size, i, flag = 0; //flag用于判断是否有非英文字符
printf("输入一串字符:\n");
gets(ch);
size = strlen(ch);
for(i==0 ; i<=size; i++)
{
if( (ch[i] >= 'a' && ch[i] <= 'z') || (ch[i] >= 'A' && ch[i] <= 'Z')) //判断是否为英文
{
flag = 1;
}
if(flag == 1 && ch[i] == ' ') //当存在非英文字符且当前有空格是,单词数+1
{
count++;
flag = 0; //flag恢复默认值
}
}
if(flag==1) //用于判断最后一个单词是否为英文单词(因为最后一个单词没有空格)
{
count++;
}
printf("英文字符总共为 %d 个", count);
return 0;
}