首页 > 代码库 > 150128
150128
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.
- 对变量赋初值语句nc=nl=nw=0;的赋值顺序是从右往左的,即原语句等同于nc=(nl=(nw=0));
- 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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。