• 词频统计 (个人项目)


    开发工具:VC++6.0

    开发语言:c++

    源代码上传至github:https://github.com/jitianmeng/-

    1. 要求:实现一个控制台程序,给定一段英文字符串,统计其中各个英文单词(4字符以上含4字符)的出现频率。

    输出要求:按照频率降序输出单词及频率,相同频率则按字母顺序输出。

    附加要求:读入一段文本文件,统计该文本文件中单词的频率,并上面要求输出统计结果。

    思路:1.首先定义一个结构体,这样访问字符数组就很方面

         2.判断是否是一个单词

         3.要将字符串中的大写转成小写,可以用+32来转换

         4.开始计数,如果单词出现过,就计数

    在完成这项作业前,我以为三个小时就能搞定,后来发现很多难点,比如,如何大小写转换,如何将一长串字符串分割成一个个单词,如何显示一个单词,等等,这使得我花了大概五六个小时,才差不多完成这个任务。

    难点: 1.大小写的转换:一开始没什么思路,后来百度了很多,才知道是要利用ascii码来转换。。大概花了20分钟。

          2.也是最让我头疼的一个,以前一直只会统计字母个数,单词个数不会。后来上网百度了很多,才知道有个专门的函数strtok()利用分隔符来分割字符串的。大概花了有一个小时

          3.统计单词个数,这个就是用以前c++学的利用cstring里的函数,strcmp来进行单词的比较。虽然一开始想法是有了,但是真正在实践的时候,却有很多小错误,比如指针,变量赋值类型不统一等等。花了有半个小时吧。

     

    心得:在这次任务中,首先我学会了一个strtok()函数,也更加加深了对以前的字符串的了解与应用。其次,我发现了调试的一些小技能。比如有很多错误的时候,可以一步一步来,按步来输出看结果是否正确,再来进行修改。总的来说,这次的作业还是比较难得。特别是用c++写,以后会多学学java等语言。

    代码:

    结果:

     

  • 相关阅读:
    list(range(10))解释
    numpy.random.normal函数
    适用于Python扩展程序包的非官方Windows二进制文件
    Linux--vi/vim编辑器常用命令
    Centos Mirrors List (centos7)
    windows--redis安装
    Celery 3.x 升级至 celery 4.x(转)
    windows/linux(centos7)安装SVN
    远程获取--snmp模块(python)/snmp-cmds,easysnmp
    FileZilla客户端(OS)连接Linux
  • 原文地址:https://www.cnblogs.com/jitianmeng/p/5284802.html
Copyright © 2020-2023  润新知