zoukankan      html  css  js  c++  java
  • 第三周作业(三)WordCount

    这个程序主要就是统计一下文件中的字符数,单词数以及行数。

    我的程序很简单,代码很简短,只实现了书中的基本功能。

    #include <stdio.h>
    #include <string.h>
    
    void main()
    {
        FILE *fp;  
        char filename[20],a[100];
        char c; 
        int len,i;
        int space=1; 
        int charnum=0,wordnum=0,linenum=0;  
        printf("请输入需要统计的文件的路径和名称: ");
        scanf("%s", filename);
        if( (fp=fopen(filename, "r"))==NULL)
        {
            printf(" 文件读取失败!");
        }
        while(fgets(a,100,fp)!=NULL)
        {
            len=strlen(a);
            for(i=0;i<len;i++)
            {
                c=a[i];
                if(c==' ')
                {  
                    space=0;
                }
                else if(space==0)
                {  
                    wordnum++; 
                    space=1;
                }
            }
            charnum=charnum+len;
            linenum++;
        }
        charnum=charnum-linenum;
        printf("字符数:%d    单词数:%d    行数: %d
    ",charnum,wordnum,linenum);
    }

    文件那里我用的是手动输入待操作的文件目录和名称,一开始我想固定读某一个文件(根目录下之类的),但是后来想了想感觉这样不太灵活。

    整个程序大体思路是先将每行的内容都先存到一个数组里(a[100],这个容量可以改,不过我想应该够了吧),然后再对数组遍历操作,实现对应的字符,单词,行数的累加。

    下面是测试截图:

    这里我在e盘下创建名为wc的文本文件输入如下内容

    然后运行程序,统计结果如下

    自己数了一下都是正确的。

  • 相关阅读:
    学无止境,我爱python
    Flask目录
    Django目录
    前端目录
    python目录
    MySQL目录
    Oracle与Sql server的区别
    Git
    restful规范
    Django 解决跨域问题(写入到中间件中)
  • 原文地址:https://www.cnblogs.com/m108280546/p/5312346.html
Copyright © 2011-2022 走看看