• 读取程序字符,行数,单词的个人程序


    一、需求分析:

    统计程序中有的字符个数,行数以及单词数量。

    思路设计:

    通过对题目要求个人理解和同学的讨论,我认为通过对行,字符和词数分别用函数统计:

    行数的统计我用了:int isrand(char c, int &randnum)。

    对单词的统计我用了这个函数:int isWord(char c, int &wordnum)。单个字母和由多个字母组成的默认为都是单词。

    对字符的统计运用了这个函数:int ischaracter(char c)。字符统计时两个单词之间的空格,括弧,等号等也算为一个字符了。

    在主函数(main函数)中分别调用这三个函数可以简单的实现对字符、行数和单词的统计。

    二、关键词的解释:

    rand=0:初始化行数为零,rand含义为行数的统计。

    word=0:初始化单词为零,word含义为单词的数量。

    character=0:初始化字符数为零,character为字符的统计。

    三、运行调试:

    1.当输入所有源程序时运行结果和系统统计结果一样,行数为:63.单词为:111.字符总数为:905.

    2.用简单的输入检测字符和单词的统计是否正确。

    输入:c = getchar()

    理论输出结果:

    行数:1

    单词输出:2

    字符输出:13

    运行截图:

    3.在进行其他的几组数据的运行检验:

    运行如图:

    四、个人心得体会:

      题目的基本要求不是太困难,就是对基础知识的要求很高。一开始想着将要检测的数据存储在文件里,但是折腾了整整半天在vs2013环境下无法将文件数据打开,但是在vc6.0中同样的代码可以运行,这要求我要积极去深入了解vs2013编译环境,不明白的一些问题在网上也有一些解释,需要自己去理解和消化。

      编程中每一次要将自己的代码风格标准化,模仿别人的编程习惯,慢慢培养自己的习惯,要坚持。标准化自己函数的定义,既方便了自己将来的阅读,又为别人读懂自己的代码做了必要的工作。每一次编程都是对自己的一次锻炼。

    源代码:

    #include <stdio.h>
    #include<Windows.h>
    int isrand(char c, int &randnum)//判断是否换行
    {
    if (c == ' ')
    {
    randnum++;
    if (randnum == 1)
    return 1;
    else
    return 0;
    }
    else
    {
    if (randnum>0)
    randnum = 0;
    return 0;
    }
    }
    int isWord(char c, int &wordnum)//判断是否单词
    {
    if ((c >= 'a'&&c <= 'z') || (c >= 'A'&&c <= 'Z'))
    {
    wordnum++;
    if (wordnum == 1)
    return 1;
    else
    return 0;
    }
    else
    {
    if (wordnum>0)
    wordnum = 0;
    return 0;
    }
    }
    int ischaracter(char c)//判断是否字符
    {
    if ((c<'0' || c>'9') && c != ' ')
    return 1;
    else
    return 0;
    }
    int main()
    {
    system("color 9B");
    int rand = 0, word = 0, character = 0;//初始化总行数 ,单词数 ,字符数
    int randnum = 0, wordnum = 0;//randnum为行数 ,wordnum为次数
    char c;
    printf("请输入要检测的程序 ");
    while (randnum<2)//如果不是空行则循环
    {
    c = getchar();
    rand += isrand(c, randnum);
    word += isWord(c, wordnum);
    character += ischaracter(c);
    }
    printf("总行数:%d ", rand);
    printf("单词数:%d ", word);
    printf("字符数:%d", character);
    system("pause");
    return 0;
    }

  • 相关阅读:
    cordova环境配置
    2016年读书计划
    红皇后假说
    微信OAuth2.0网页授权
    2016年碎语
    Apache + PHP 环境搭建
    各种环境配置
    技术名词记
    使用新浪云(SAE)实现基于mySql和微信公众平台的关键字请求响应服务
    为什么安装office后,xls文件不显示excel图标
  • 原文地址:https://www.cnblogs.com/lizone/p/5309331.html
Copyright © 2020-2023  润新知