c语言:统计一段话中单词的个数
大前提:单词用若干空格隔开
小前提:我写的全都是小写字母组成的语句。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<string.h>
#define size 50
int fun(char s[])
{
int i = 0, num = 0;
while (i < size)
{
if (s[i] != '\0')
{
if ((65 <= s[i] && s[i] <= 90) || (97 <= s[i] && s[i] <= 122))
{
while ((65 <= s[i] && s[i] <= 90) || (97 <= s[i] && s[i] <= 122))
i++;
num += 1;
while (s[i] == ' ')
i++;
}
}
if (s[i] == '\0')
break;
i++;
}
return num;
}
int main()
{
char s1[size];
gets(s1);
printf("一共有%d个单词", fun(s1));
return 0;
}

**if (s[i] != ‘\0’)**是为了防止数组越界访问。
**if ((65 <= s[i] && s[i] <= 90) || (97 <= s[i] && s[i] <= 122))**是为了跳过其它类型的字符干扰,让其它字符的遍历通过
这里的i来跳过。

这个是为了遍历字母。

这个是为了遍历空格。

浙公网安备 33010602011771号