编程统计正文中的英文字母,空格,制表符,换行符和其他字符

统计正文中的英文字母,空格,制表符,换行符和其他字符的个数,这是我写的程序,请高手帮忙看一下是否正确?还有,我输入一段话之后怎样才能表示我输入完了啊?谢谢!
#include<stdio.h>
#include<ctype.h>
main(){
int c1=0,c2=0,c3=0,c4=0,c5=0;
char c;
c=getchar();
while(c!=EOF){
if(islower(c)||isalpha(c))
c1=c1+1;
else{
if(c==' ')
c2=c2+1;
else{
if(c=='\t')
c3=c3+1;
else{
if(c=='\n')
c4=c4+1;
else
c5=c5+1;
}
}
}
}
printf("English %d\n",c1);
printf("Space %d\n",c2);
printf("Tab %d\n",c3);
printf("Line feed %d\n",c4);
printf("Others %d\n",c5);
}

没注意看,发现你这个程序少了一行

#include<stdio.h>
#include<ctype.h>
main(){
  int c1=0,c2=0,c3=0,c4=0,c5=0;
  char c;
  c=getchar();
  while(c!=EOF){
    if(islower(c)||isalpha(c))
      c1=c1+1;
      else{
        if(c==' ')
          c2=c2+1;
        else{
          if(c=='\t')
            c3=c3+1;
          else{
            if(c=='\n')
              c4=c4+1;
            else
              c5=c5+1;
          }
        }
      }
  c=getchar();//注意这一行
  }
  printf("English   %d\n",c1);
  printf("Space     %d\n",c2);
  printf("Tab       %d\n",c3);
  printf("Line feed %d\n",c4);
  printf("Others    %d\n",c5);
}

windows系统的文件结束符在控制台输入ctrl+z,之后回车就好了。

温馨提示:答案为网友推荐,仅供参考
相似回答