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

Day29~删除一个字符串中出现次数最少的字符(小写字母)

删除一个字符串中出现次数最少的字符(小写字母)

#include <stdio.h> #include <string.h> #include <stdlib.h> #define MAX_SIZE 1024 // 统计每个字母出现的次数 void sta_str_count(char *str, int *count) { while (*str != '\0') // 遍历整个字符 { count[*str - 'a']++; // 统计次数 str++; // 地址后移 } } // 寻找出现次数最少的那个字母 int small_count(int *count) { int min = 0; // 初始化最小值为0 for (int i = 0; i < 26; i++) // 遍历26个小写字母 { if (count[i] != 0) // 找到第一个出现过的字母 { min = count[i]; // 把第一个出现过的字母的次数赋值给min for (; i < 26; i++) // 从当前i的位置继续遍历剩余字母 { if ((count[i] != 0) && (count[i] < min)) // 若当前字母出现过,且次数比当前min更小,则更新min { min = count[i]; } } return min; // 返回最小值 } } } // 删除这个字符 void del_str(char *src, int min, int *count) { char *temp = src; while (*temp != '\0') // 遍历 { if (count[*temp - 'a'] == min) // 判断当前字母的出现次数是否等于最小值min { char *del = temp; // 临时覆盖数组,指向当前要删除的字符 while (*del != '\0') { *del = *(del + 1); // 删除当前字符 del++; // 指针后移 } } else { src++; temp++; } } *src = '\0'; } int main(int argc, char **argv) { if (argc != 2) { printf("请输入一串字符串\n"); exit(1); } int count[26] = {0}; char str[MAX_SIZE]; strcpy(str, argv[1]); sta_str_count(str, count); // 测试 // for (int i = 0; i < 26; i++) // { // printf("%c : %d\n", 'a' + i, count[i]); // } int min = small_count(count); // 测试 // printf("min = %d\n", min); if (min > 0) { del_str(str, min, count); } printf("str = %s\n", str); return 0; }
http://www.zskr.cn/news/112135.html

相关文章:

  • 大麻叶病害缺陷检测数据集介绍-198张图片 智能农业监测 精准病害诊断 作物健康管理 农业科研分析 智能植保机器人 农业教育培训
  • 【OpenCV】Python图像处理几何变换之翻转
  • 口腔医学X光影像诊断检测数据集介绍-274张图片 临床辅助诊断 牙科影像自动分类 口腔疾病研究 远程医疗系统 医学教育培训
  • 百度网盘提取码智能获取完全解决方案
  • 探索低功耗多频带sub 1G射频芯片NRF905反向电路
  • 微信网页版限制突破神器:wechat-need-web插件终极解决方案
  • 终极NBTExplorer指南:3步学会我的世界数据编辑
  • AI赋能电力大数据挖掘!三大核心模型破解电网运维与负荷预测难题
  • 混乱市场的新罗盘:解读未来利率定价的全新模型
  • Video DownloadHelper CoApp 技术架构与部署指南
  • LobeChat能否对接Zoom?会议中实时AI字幕生成实验
  • 绝区零游戏自动化终极指南:10分钟从小白到高手
  • 汇川中型 PLC 纯 ST 语言双轴同步设备开发:初学者的友好指南
  • 明日提醒
  • LobeChat用户故事征集:分享你的创新应用场景
  • Kafka单机搭建(二)
  • BGE-Large-zh-v1.5终极部署指南:3步搞定文本嵌入模型实战
  • 【开题答辩全过程】以 高校电子教室在线考试系统为例,包含答辩的问题和答案
  • Beyond Compare 5快速激活指南:一键生成方法实现免费用技巧
  • 如何用LangChain构建智能科技政策分析引擎:3大核心能力解析
  • 数字时代,传统碟片的销量不减反增
  • Flutter 开发工具链详解
  • BilibiliVideoDownload:跨平台B站视频离线下载完整指南
  • Wallpaper Engine开源下载器:一键获取创意工坊精美壁纸
  • LC实战项目一:元器件下单(六)
  • 2025 最新延吉必吃韩式烤肉餐厅TOP5 评测!服务、环境等全方位评测 - 全局中转站
  • 2025 最新延吉必吃本地美食餐厅TOP5 评测!品质优先 + 性价比高,本地人推荐口碑权威榜单发布,味蕾盛宴尽在此处 - 全局中转站
  • 第四次算法作业
  • 小爱音箱AI升级终极指南:三步打造你的智能语音管家
  • 微信朋友圈营销转化,5个技巧轻松提升销售额