C:1-5-4

来源:互联网 发布:浏览器死机恶搞js 编辑:程序博客网 时间:2024/05/03 17:29

#include<stdio.h>

#define IN 1  // 在单词内  宏定义去除"幻数

#define OUT 0  // 在单词外  宏定义提高程序可读性

/* 统计输入的行数、单词数与字符数*/

main()

{ 

  int c,state=OUT;

  int nl=0,nw=0,nc=0;

  while((c=getchar())!=EOF)

   {

      nc++;

     if(c=='/n')

      nl++;

      if(c==' '||c=='/n'||c=='/t')  

         state=OUT;  //注意符号常量的“=”“==

       else if(state==OUT)  //每遇到单词的第一个字符,它就作为

//一个新单词加以统计

         { state=IN;

            nw++;

            }  

    }

   printf("nc=%d,nw=%d,nl=%d",nc,nw,nl);

 

 

#include<stdio.h>

#define IN  1

#define OUT  0

/*print input one word per line*/

main()

{

      int c,state;

      state=OUT;

      while((c=getchar())!=EOF)

      {  

           if(c==' '||c=='/b'||c=='/N') //判断一个c是否是某单词分隔符

           {

              if(state==IN) //判断这个单词分隔符是否表示某个单词结束

                {

            putchar('/n');

            state=OUT;   

                 }        //不是表示某个单词结束,则不进行任何操作

       }

           else if(state==OUT)//c是某个单词的第一个字符

              {

         state=IN;         //此处是赋值

         putchar(c);

            }

                else  //c不是某个单词中的第一个字符但是是其他字符

             putchar(c);

       }

}