zoukankan      html  css  js  c++  java
  • 词频统计 (个人项目)

    开发工具: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等语言。

    代码:

    结果:

     

  • 相关阅读:
    leetcode 279. Perfect Squares
    leetcode 546. Remove Boxes
    leetcode 312. Burst Balloons
    leetcode 160. Intersection of Two Linked Lists
    leetcode 55. Jump Game
    剑指offer 滑动窗口的最大值
    剑指offer 剪绳子
    剑指offer 字符流中第一个不重复的字符
    leetcode 673. Number of Longest Increasing Subsequence
    leetcode 75. Sort Colors (荷兰三色旗问题)
  • 原文地址:https://www.cnblogs.com/jitianmeng/p/5284802.html
Copyright © 2011-2022 走看看