码迷,mamicode.com
首页 > 其他好文 > 详细

150128

时间:2015-01-28 06:11:33      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:

P.14单词计数例

#include<stdio.h>

#define IN  1
#define OUT 0
/*IN和OUT分别表示在单词内和单词外*/
/*使用define可使程序更明晰,在复杂程序中尤其明显*/
main()
{
 int c,nc=0,nl=0,nw=0,state;    //state即单词内、外的状态
 /*以上对nc,nl,nw的初始赋值亦可写作‘nc=nl=nw=0’*/   
 state=OUT;   //设初始状态为OUT

 while((c=getchar())!=EOF)
 { 
  ++nc;
  
   if(c==\n)
    ++nl;
   
   if(c==\t||c==\n||c= )
    state=OUT;
  
   else if(state==OUT)
     {
      ++nw;
      state=IN;                           
     }
  printf("%d %d %d\n",nc,nl,nw);
 }
/*遇到单词外字符state调至OUT等到单词内第一个字符时计数并调至IN*/
}
  • PA.
  1. 对变量赋初值语句nc=nl=nw=0;的赋值顺序是从右往左的,即原语句等同于nc=(nl=(nw=0));
  2. if-else的两个语句中有且只有一个会被执行

 

练习:编写一个程序,以每行一个单词的形式打印输出

 1 #include<stdio.h>
 2  
 3 #define IN  1
 4 #define OUT 2
 5 
 6 main()
 7 {
 8  int c,state;
 9 
10  while((c=getchar())!=EOF)
11  {
12   if(c==\n||c==\t||c== )
13   { 
14    state=OUT;
15    putchar(\n);
16   }
17   
18   else 
19    putchar(c);
20  }
21 }

 

150128

标签:

原文地址:http://www.cnblogs.com/suzyc/p/4254810.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!