c语言中统计输入的行数、单词数与字符数

原创 2014年04月24日 08:51:59

来源:《c程序设计语言》

功能需求:

写个函数,用于统计输入的行数、单词数与字符数。这里对单词的定义比较宽松,它是任何其中不包含空格、制表符或换行符的字符序列。


代码如下:

#include <stdio.h>
#define IN 1
#define OUT 0
void wc(){
    char c;
    int char_num,word_num,line_num,state;
    char_num=word_num=line_num=0;
    state=OUT;
    while((c=getchar())!=EOF){
        //不管输入的是什么字符,都需要统计
        char_num++;
        if(c=='\n'){       
            line_num++;
        }
        if(c=='\n' || c=='\t' || c==' '){
            //遇到以上字符,输入字符在单词外
                state=OUT;
        }else if(state==OUT){
        //else说明输入的不是换行,空格及制表位;换言之,就是合法的字符;
        //如果不对state进行判断,那么word_num会统计所有的合法字符
    //什么时候对word_num加1?当现在的状态是在单词外,接受到的字符是合法字符时,表示一个新的单词开始,这才要加1,还要更新状态位
            state=IN;
            word_num++;
        }
        }
 
 
    printf("line_num=%d\nword_num=%d\nchar_num=%d\n",line_num,word_num,char_num);
}
int main(){
    wc();
    return 0;
}


本题的难点在单词的统计

统计录入字符串的字符总数,单词数和行数

统计录入字符串的字符总数,单词数和行数包括: 字符读取 getchar()函数的使用 *循环使用 UML序列图和流程图 离线写博客 何时停止读取 一些头文件的使用...
  • zhixi1050
  • zhixi1050
  • 2017-05-24 23:28:08
  • 382

C语言实现对输入中的行数,单词个数,字符的个数进行计数

/* * 时间:2011年6月5日8:38:52 * 作者:李灿辉 * 程序功能:对输入中的行数,单词个数,字符的个数进行计数 */ #include #define IN 1 ...
  • li_canhui
  • li_canhui
  • 2011-09-24 09:01:29
  • 2780

C语言统计输入行数、单词数、字符数

这个问题的关键在于统计单词的个数:状态的转变定义了一个单词   #include #define IN 1 #define OUT 0 main() {     int c, n...
  • cnweike
  • cnweike
  • 2011-09-15 18:37:16
  • 2691

2.统计输入的行数,单词数和字符数

#include #define IN 1 #define OUT 0int main() { int c, nl, nw, nc, state; state = OUT; nl...
  • enlyhua
  • enlyhua
  • 2016-12-12 00:35:40
  • 295

读入一个C程序,统计程序中代码、注释和空行的行数以及函数的个数和平行行数

  • 2009年09月16日 14:18
  • 86KB
  • 下载

统计输入中的行数,单词数,字符数

   源于《The C Programming Language》P14的一道例题:    统计输入中的行数,单词数,字符数(单词的定义:其中不包括空格,制表符,换行符的字符序列)          ...
  • roma823
  • roma823
  • 2011-04-14 10:30:00
  • 1298

统计单词个数与行数

#include&amp;lt;iostream&amp;gt; #include&amp;lt;fstream&amp;gt; #include&quot;iomanip&quot; using n...
  • MeetingParis
  • MeetingParis
  • 2018-04-05 10:36:34
  • 6

统计文件中的单词个数

C语言中统计文件中的单词个数,这里默认单词之间都是以空格分隔的,而且没有判断单词的正误。原理比较简单,当读取到的空字符之前是个非空字符时,说明读取了一个完整单词。...
  • yiluxiangqian7715
  • yiluxiangqian7715
  • 2015-09-16 20:47:47
  • 1866

C语言,统计输入的字符各类的个数

#include int main() { int char_num=0,int_num=0,space_num=0,other_num=0; char ch; while((...
  • LIU_YANZHAO
  • LIU_YANZHAO
  • 2016-09-03 16:44:35
  • 11242

C语言统计一个字符串中单词的个数

假定每个单词用空格隔开。 例子: 输入:how are you! 输出:3 两种方法: 一: #include #include #define SIZE 20 int m...
  • abc5382334
  • abc5382334
  • 2014-05-24 01:59:28
  • 40781
收藏助手
不良信息举报
您举报文章:c语言中统计输入的行数、单词数与字符数
举报原因:
原因补充:

(最多只允许输入30个字)