C语言统计字符小练习

来源:互联网 发布:平安银行信用卡淘宝联名卡额度 编辑:程序博客网 时间:2024/05/23 01:17
#include <stdio.h>#define IN 1  //在单词中#define OUT 0  //不在单词中/*   The C programming language[second edition] 练习小程序   功能:统计输入的字符数、单词数和行数。*/int main(){  int c;//存储输入的单词  int STATE = OUT;  //状态初始为不在单词中  int nc = 0;  //记录新的字符  int nl = 0;  //记录新的行  int nw = 0;  // 记录新的单词    while ((c = getchar()) != 'q' )  //键入字符'q'则退出输入  {    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,nw,nc);  return 0;}