上面我们只考虑了空格的情况,如果遇到有标点符号或者制表符等其它情况时,仅判断空格是不够的,不过我们可以用CTYPE函数。程序如下:
#include "stdio.h"
#include "conio.h"
#include <ctype.h>
int main(void)
{
int i=0,ch;
int words=0;
int ct=0;
while ((ch = getchar())!=EOF)
{
if (isgraph(ch))
ct++;
//输入的所有纯字母的个数。
if (ispunct(ch)||isspace(ch))
i=0;
else if (i==0)
{
words++;
i=1;
}
}
printf("%d charcater,%d words.\n",ct,words);
getch();
return 0;
}