第7周 C语言程序设计(新2版) 例题1.5.4 统计行数、单词数及字符数

问题及代码:

/*统计输入的行数、单词数和字符数*/
#include<stdio.h>
#define IN 1  //单词在内 
#define OUT 0  //单词在外 
int main()
{
	int c,nw,nl,nc,state; // c表示当前输入字符,state表示前一个字符; 
	nw=nl=nc=0;
	state=OUT;   //初始化前一个字符,表示在单词外; 
	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("%d %d %d\n",nl,nc,nw);
 }
运行结果:

学习心得:

知识总结:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值