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;}