当前位置: 首页 > news >正文

利用标准IO实现寻找文件中字符出现最多次数

一、可以实现的方法

        双向循环链表、数组的方法。

        前者比较繁琐,需要构建链表,实际操作起来较繁琐,但查找元素方便(有想法可去试试);

        后者相比较为简单,能够实现题目要求;

二、数组方法实现

1、思路:

        定义一个数组,让数组的序号与字符的ASCII与之对应(例如a[ch]→ch→65→'A')。再接收字符,将接收到的字符让与之对应的数组内的值+1。将文件内容接收完毕之后,选数组内元素值的最大值,就是出现过多少次,对应的序号就是就是哪个字符。

2、代码实现:

3、注意点:

1)fguts从终端(stdin)接收内容时会多接收一个'\n',导致字符串末尾(\n\0),为了使字符串能够正常接收,我们需要将字符串倒数第二位的'\n'赋值为'\0'.

2)数组利用元素下标比大小时,比较前假设第一位元素为最大或者最小,后续在循环内比较的对象是假设的这一位和 ‘i’ 对应的元素下标,满足if条件时则更新下标。最终我们既能得到最大或者最小的值,也能获得元素下标。而元素下标的数字对应的ASCII,用%c打印就可获得对应的字符。

3)fread函数接口,成功的返回值是读取到的对象个数,类型是size_t ,虽然这个类型是int型,我们也成size_t的意义是不再是简单的数字而是赋予这个数字是一个大小→读取到的对象的个数

http://www.dtcms.com/a/336119.html

相关文章:

  • 问津集 #5:Crystal: A Unified Cache Storage System for Analytical Databases
  • 6-服务安全检测和防御技术
  • gitee SSH配置
  • 探索分子世界:结构、性质、反应与前沿进展
  • 编程算法实例-求一个整数的所有因数
  • 力扣 hot100 Day76
  • WPFC#超市管理系统(6)订单详情、顾客注册、商品销售排行查询和库存提示、LiveChat报表
  • 代码随想录刷题——字符串篇(四)
  • 深度学习之优化器
  • 自然语言处理NLP---预训练模型与 BERT
  • Python界面设计【QT-creator基础编程 - 01】如何让不同分辨率图像自动匹配graphicsView的窗口大小
  • Git 入门指南:核心概念与常用命令全解析
  • 「数据获取」《中国文化文物与旅游统计年鉴》(1996-2024)(获取方式看绑定的资源)
  • 链式前向星、vector存图
  • Kafka_Broker_副本基本信息
  • 【FreeRTOS】信号量与互斥量
  • LeetCode热题100--104. 二叉树的最大深度--简单
  • 给纯小白的Python操作 PDF 笔记
  • 【牛客刷题】BM63 跳台阶:三种解法深度解析(递归/DP动态规划/记忆化搜索)
  • Baumer高防护相机如何通过YoloV8深度学习模型实现工作设备状态的检测识别(C#代码UI界面版)
  • Shell脚本-流程控制语句基本语法结构
  • Mutually aided uncertainty
  • 5G NR PDCCH之速率匹配
  • 【数据结构】堆和二叉树详解——上
  • 神经网络中的梯度概念
  • 【杂谈】-以质代量:谷歌主动学习范式重构AI训练逻辑
  • 把 AI 变成“气味翻译官”——基于微型电子鼻的低功耗 VOC 实时识别系统
  • 13、系统设计
  • 何为“低空经济”?
  • DeepSider:免费使用顶级大模型、全方位AI赋能的浏览器插件