首页 > 试题广场 >

编写一个程序,把输入作为字符流读取,直至遇到EOF。令其报告

[问答题]

编写一个程序,把输入作为字符流读取,直至遇到EOF。令其报告每个单词的平均字母数。不要将空白字符记为单词中的字母。实际上,标点符号也不应该计算,但现在不必考虑这一点(如果您想做得好一些,可以考虑使用ctype.h系列中的ispunct()函数)。

推荐
#include <stdio.h>
#include <ctype.h>
int main(void)
{
 int num=0;
 char ch;
 bool word=0;
 while ( (ch=getchar()) != EOF )
 {
 if ( isalpha(ch) && !word )
 {
 word = 1;
 num++;
 }
 if ( !isalpha(ch) )
 {
 word = 0;
 }
 }
 printf("words: %d\n",num);
 return 0;
}

发表于 2018-05-05 21:41:15 回复(0)