统计C语言中每个单词出现的次数

2023-12-20

我想统计一下“一颗破碎的心,一颗破碎的心灵”这个小文本中每个单词的出现次数。

这篇文章的每个单词都是二维的array[100][20]其中 100 是max_words20 是max_word_length。我有一个指点array[100]其中每个指针都指向单词。我找不到一个聪明的方法来计算相同的单词, 例如

a: 2 times
broken: 2 times
heart: 1 time
mind: 1 time
. : 1 time

这些将是指针和单词数组:

POINTERS ARRAY                      WORDS ARRAY
point0(points "a")                  a
point1(points "broken")             broken
point2(points "heart")              heart
point3(points "of")                 of
point4 (points "a")                 mind
point5(points "broken")             .
point6(points "mind")               \0\0\0\0\0
point7(points ".")                  \0\0\0\0\0
NULL                                ..
NULL
..
NULL                                \0\0\0\0\0

旁注:每个单词都是小写的。

void frequence_word(char *pointers[], int frequence_array[]) {
  int word = 0;
  int i;
  int count = 1;
  int check[MAX_WORDS];

  for (word = 0; word < MAX_WORDS; word++) {
    check[word] = -1;
  }

  for (word = 0; word < MAX_WORDS; word++) {
    count = 1;

    for (i = word + 1; i < MAX_WORDS; i++) {

      if (pointers[word + 1] != NULL
          && strcmp(pointers[word], pointers[i]) == 0) {
        count++;
        check[i] = 0;
      }

    }
    if (check[word] != 0) {
      check[word] = count;
    }

  }
}

有什么想法吗?


这似乎是一个用例strstr https://www.cplusplus.com/reference/cstring/strstr/。您可以致电strstr,然后迭代地重新分配给原始字符串,直到达到 NULL。

const char substring[] = "A broken heart of a broken mind";
const char* total = ...;

const char* result;
long count = 0;
while (result = strstr(total, substring)) {
    count++;
    total += (sizeof(substring) - 1);
}

我认为这基本上是不言自明的,但我将解释这一行:

total += (sizeof(substring) - 1);

它利用了这样一个事实:sizeofon 数组返回数组长度。因此,字符数组上的 sizeof 返回其中的字符数。我们减一以忽略空终止符。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

统计C语言中每个单词出现的次数 的相关文章

随机推荐

  • OSX 中的 tiff() 分辨率和压缩设置不可靠

    分辨率和压缩选项tiff 在我的系统上似乎被忽略 请参阅下面的信息 这似乎与中讨论的问题相同这个问题 https stackoverflow com questions 12609816 r tiff wont compress or se
  • Laravel + Image Intervention:强制下载未保存的文件

    我想简单地上传文件 调整它们的大小 然后强制下载每个上传的文件 我不想保存文件 调整大小等工作正常 但是我无法强制下载新文件 content image gt stream jpg return response gt download c
  • Quickblox 会话在后台过期。怎么处理呢?

    当用户进入后台时 我从聊天中注销该用户 当用户从后台返回时 我会在聊天中再次记录使用情况 这很有效 但并非每次都有效 有时 当用户将应用程序保持在后台超过 2 小时时 会话就会过期 并且当用户从后台返回时 会话似乎不会自动重新验证 即使使用
  • 编译 Java 类并从命令控制台运行 Java 文件时,如何包含 Java jar 文件?

    我有一个与 postgresql 数据库交互的小 Java 文件 所以我已经下载了驱动程序并在我的文件中导入org postgresql Driver 在命令控制台中我输入javac Myfilename java 然后它编译我运行java
  • JavaScript 异步/等待

    我正在尝试理解 JavaScript 异步 等待 如何重写以下内容 使输出为 Hi 然后 Bye 而不是 Bye 然后 Hi JSFiddle https jsfiddle net tp7tjhvL 1 sayHi then sayBye
  • 设置nginx支持自定义域名

    我有一个 Django Web 应用程序托管在一个虚拟机上 该虚拟机以基于 Debian 的 Ubuntu 作为操作系统 以 nginx 反向代理 Gunicorn 作为 Web 服务器 此 Web 应用程序的 DNS 是myapp clo
  • 如何以编程方式在 WordPress 中创建帖子 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想知道如何在 WordPress
  • 我需要向父 div 添加一个像素

    我有一个 教室 的 div 其中包含每个 学生 的 div 每个 学生 div 都包含一个图像 这是 HTML div class classroom div class student img class student image sr
  • 需要 JQuery 弹出窗口/警报

    我有一个元素列表 每个元素需要有一个相应的弹出窗口 这不是背景变黑的弹出窗口 这更像是一个 JavaScript 警报 尽管我需要在弹出窗口中创建自己的样式按钮 并为其分配我们自己的定制事件 我需要每个弹出窗口将自己适当地放置在用户界面中相
  • 解析接受标头

    有人对解析 HTTP Accept 标头有任何建议 或正则表达式 吗 我正在尝试在 ASP NET MVC 中进行一些内容类型协商 似乎没有内置的方式 这很好 因为这里有很多思想流派 但是解析并不完全微不足道 如果有人已经完成了 我宁愿不重
  • 如何将字符串渲染为html链接

    我向电子邮件发送一些消息 如下所示 string link http localhost 1900 ResetPassword username user UserName reset HashResetParams user UserNa
  • IntelliJ IDEA v12 中的警告

    给出的答案为如何让Intellij Idea显示编译警告 https stackoverflow com questions 4745415 how to get intellij idea to display compilation w
  • 为什么将“extern puts”转换为函数指针“(void(*)(char*))&puts”?

    我正在看例子abo3 c http community corest com gera InsecureProgramming abo3 html from 不安全编程 http community corest com gera Inse
  • 当我使用 Python 的调试版本时,如何使用 gdb?

    我的 gdb 版本与我的系统 python 链接 但我目前正在使用 python 的特殊调试版本 因此 gdb 无法正确启动 并出现如下错误 gdb gdb Symbol Py ZeroStruct has different size i
  • 为什么我的数组在 AJAX 函数之外的行为不同? (填充 jsTree)[重复]

    这个问题在这里已经有答案了 长话短说 我正在为 jsTree 创建一个类似 JSON 的数组 我不明白的是为什么数组非常适合我在 AJAX 成功函数中的需求 但又损坏了outside该功能的 查看我的控制台转储的屏幕截图 您可以看到差异 为
  • 在 Google 地图中绘制一个点周围的半径

    我正在使用 Google Maps API 并添加了标记 现在我想在每个标记周围添加 10 英里的半径 这意味着在缩放时会出现适当的圆形 我不知道该怎么做 而且这似乎不常见 我发现一个看起来不错的例子 http www freemaptoo
  • 如何在不给单元格区域命名的情况下选择单元格区域?

    我想使用应用程序脚本选择单元格 C29 Z50 作为变量 我不想创建命名范围 但如果需要的话我可以 我的目标是创建一些超越颜色的自定义格式 可以使用内置功能 因此 如果单元格 B27 交易 则将 C29 Z50 格式化为数字 否则将 Z29
  • MVC4 Bundle 中的 {version} 通配符

    在 MVC 4 中 我们有捆绑包 在定义捆绑包时 我们可以对文件夹中的所有文件使用 等通配符 在下面的例子中 什么是 version mean public static void RegisterBundles BundleCollect
  • 实体框架不信任投票 - 与 .NET 4 相关吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动
  • 统计C语言中每个单词出现的次数

    我想统计一下 一颗破碎的心 一颗破碎的心灵 这个小文本中每个单词的出现次数 这篇文章的每个单词都是二维的array 100 20 其中 100 是max words20 是max word length 我有一个指点array 100 其中