使用C语言统计一个字符串中每个字母出现的次数
每日一言
Wishing is not enough; we must do.
光是许愿望是不够的; 我们必须行动。
题目
输入一个字符串,统计在该字符串中每个字母出现的次数
例如:
输入:i am a student
输出:a:2 d:1 e:1 i:1 m:1 n:1 s:1 t:2 u:1
大体思路
- 题目说输入一个字符串,还说要统计字符串中每个字母的次数,那么肯定要将输入的字符串存起来。
- 要统计每个字母出现的个数,那肯定要创建一个整形数组来存放出现次数。
- 想办法将字母与该字母出现的次数绑定在一块
- 输出
解题过程
-
创建一个数字数组和一个字符数组
-
将输入的字符串放在字符数组中(我在这里使用了gets函数)

-
使用循环将字母与该字母出现的次数绑定在一块
#include<stdio.h>
int main()
{char arr1[100] = { 0 };int arr2[200] = { 0 };gets(arr1);int i = 0;for (i = 0; arr1[i] != '\0'; i++){arr2[arr1[i]]++;}return 0;
}
到这里肯定有人要问了:
临水你这循环里写的是什么玩意啊,我怎么有点迷迷糊糊的?
别急,让我给你慢慢道来
将arr1[i]放在arr2[]中,其实是将arr1[i]中的字符转换成对应的ASCII码值
如果arr1[i]中存放的是字符a,那么arr2[arr1[i]]等价于arr2[65]。最外面的++,表示在该位置上存的数加一
- 接下来就是输出了
#include<stdio.h>
int main()
{char arr1[100] = { 0 };int arr2[200] = { 0 };gets(arr1);int i = 0;for (i = 0; arr1[i] != '\0'; i++){arr2[arr1[i]]++;}for (i = 'a'; i<'z'; i++)//我在这里限定输出小写字母出现的次数{if (arr2[i] != 0)printf("%c:%d ", i, arr2[i]);//在这里i是字母的ASCII值}return 0;
}
if语句用来判断ASCII码值为 i 的字符串中是否出现过
试运行:

结语
请给自己些耐心,一口吃不成胖子。
山外青山楼外楼,莫把百尺当尽头。
想成为大佬那就保持空杯心态加油努力吧!
都看到这里啦!真棒(*^▽^*)
可以给作者一个免费的赞赞吗,这将会鼓励我继续创作,谢谢大家
编程小白写作,如有纰漏或错误,欢迎指正
相关文章:
使用C语言统计一个字符串中每个字母出现的次数
每日一言 Wishing is not enough; we must do. 光是许愿望是不够的; 我们必须行动。 题目 输入一个字符串,统计在该字符串中每个字母出现的次数 例如: 输入:i am a student 输出:a:2 d:1 e:1 i:1 m:1 n:1 s:1 t:2 u:1 大体思路…...
中国出海主力系列专访之三七互娱:亚马逊云科技助力三七互娱海外“出圈”之路
如果问,在众多的中国出海赛道中哪一条拥有基数最大的粉丝拥趸?以网络游戏、社交媒体、直播、短视频为代表的泛娱乐赛道便成为当仁不让的领跑者。 在东京、新加坡、开罗、伦敦、纽约、慕尼黑等国际都市,当地的年轻人会随时随地的打开“中国造”…...
算法刷题-动态规划2
算法刷题-动态规划2 珠宝的最高价值下降路径最小和 珠宝的最高价值 题目 大佬思路 多开一行使得代码更加的简洁 移动到右侧和下侧 dp[ i ][ j ]有两种情况: 第一种是从上面来的礼物最大价值:dp[ i ][ j ] dp[ i - 1 ][ j ] g[ i ][ j ] 第二种是从左…...
【Vue】自定义指令
hello,我是小索奇,精心制作的Vue系列持续发放,涵盖大量的经验和示例,如果对您有用,可以点赞收藏哈~ 自定义指令 自定义指令就是自己定义的指令,是对 DOM 元素进行底层操作封装 ,程序化地控制 DOMÿ…...
MFC 中创建并显示二维码
1.创建并显示 QRcode* pQR_Encode; pQR_Encode QRcode_encodeString("12345678901234567890", 0, QR_ECLEVEL_H, QR_MODE_8, 1); if (pQR_Encode) { int nBmpWidth pQR_Encode->width; //获取控件的边界大小 CRect rect; Ge…...
NX二次开发UF_CAM_set_clear_plane_tag 函数介绍
文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan UF_CAM_set_clear_plane_tag Defined in: uf_cam_planes.h int UF_CAM_set_clear_plane_tag(tag_t object_tag, tag_t target_tag ) overview 概述 Set the tag of a clearance pl…...
计算机网络:数据链路层
0 本节主要内容 问题描述 解决思路 1 问题描述 数据链路层主要面临四个问题: 封装成帧;透明传输;差错检测;实现相邻节点之间的可靠通信。 1.1 子问题1:封装成帧 怎么知道数据从哪里开始?到哪里结束&a…...
电线电缆行业生产管理怎么数字化?
行业介绍 随着市场环境的变化和现代生产管理理念的不断更新,电缆的生产模式也在发生转变,批量小,规格多,交期短的新型制造需求逐年上升,所以企业车间管理的重要性越发凸显,作为企业良性运营的关键…...
计算机网络之数据链路层
一、概述 1.1概述 物理层发出去的信号需要通过数据链路层才知道是否到达目的地;才知道比特流的分界线 链路(Link):从一个结点到相邻结点的一段物理线路,中间没有任何其他交换结点数据链路(Data Link):把实现通信协议的硬件和软件…...
前端新手Vue3+Vite+Ts+Pinia+Sass项目指北系列文章 —— 系列文章(目录)
系列文章目录 第一章 技术栈简介 (开篇) 第二章 环境部署 (Node等环境安装) 第三章 项目创建 (Vite项目初始化) 第四章 认识项目目录 (项目整体介绍) 第五章 组件库安装和使用(Element-Plus基础配置) 第六章 样式格式化 (Sass配置) 第七章 路由配置 (vue-router深入解读) 第八…...
uniapp 给小程序添加分享功能
在 Uni-app 中,要为小程序添加分享功能,你可以通过使用小程序的自定义分享组件或通过配置页面的分享信息来实现。下面我将分别介绍这两种方法。 方法一:使用小程序的自定义分享组件 在小程序中,你可以创建一个自定义的分享组件&…...
npm命令
node -v --查看版本 npm install --安装npm npm config get registry --查看npm当前镜像 npm config set registry https://registry.npmmirror.com --设置淘宝镜像 npm版本管理工具...
Halcon Solution Guide I basics(3): Region Of Interest(有兴趣区域/找重点)
文章目录 文章专栏前言文章解读前言创建ROI案例1:直接截取ROI手动截取ROI 总结ROI套路获取窗口句柄截取ROI区域获取有效区域 Stop组合 文章专栏 Halcon开发 Halcon学习 练习项目gitee仓库 CSDN Major 博主Halcon文章推荐 前言 今天来看第三章内容,既然是…...
以太坊铭文聚合交易平台 Scorpio,铭文爆发的新推手?
在今年 3 月,Ordinals 凭空问世,定义了一套在比特币网络运行的序数协议,使得 Token 和 NFT 能在比特币网络上实现并稳定运行,拉来了比特币铭文市场的新序幕。而在此后,在包括 BRC20 等在内的一系列应用的出现ÿ…...
Socket通信之网络协议基本原理
一台机器将自己想要表达的内容,按照某种约定好的格式发送出去,当另外一台机器收到这些信息后,也能够按照约定好的格式解析出来,从而准确、可靠地获得发送方想要表达的内容。这种约定好的格式就是网络协议(Networking P…...
linux 开发板以太网通过Ubuntu上外网方法
在开发板嵌入式设备,有一个mgbe网卡,用网线与连接soc的网卡,和外接网卡,将网卡usb接口插入电脑,选择接入到Ubuntu系统 在Ubuntu将能识别到这个外接网卡,这样就可以通过Ubuntu和soc通讯了, 如下…...
DependencyProperty.Register:wpf 向别的xaml传递参数
一.使用背景:在A.xaml中嵌入B.xaml,并且向B.xaml传递参数。 函数介绍: public static DependencyProperty Register(string name, Type propertyType, Type ownerType );name(string): 依赖属性的名称。在…...
uvm白皮书练习_ch2_ch231_加入transaction
2.3 为验证平平台加入各种组件 uvm白皮书练习_ch2_ch231_加入transaction 代码部分 top_tb.sv timescale 1ns / 1ps include "uvm_macros.svh"import uvm_pkg::*; /*只能现在*/include "my_if.sv" include "my_transaction.sv" include "…...
python-泛型实现,类型检查
python-泛型实现,类型检查 泛型类型泛型类 在Python中,没有像Java中的泛型那样的明确语法来指定类型参数。Python是一种动态类型语言,可以灵活地处理不同类型的对象。 然而,如果你希望在Python中添加泛型的注释或提示,…...
黑马React18: Redux
黑马React: Redux Date: November 19, 2023 Sum: Redux基础、Redux工具、调试、美团案例 Redux介绍 Redux 是React最常用的集中状态管理工具,类似于Vue中的Pinia(Vuex),可以独立于框架运行 作用:通过集中管理的方式管…...
别再抓瞎了!手把手教你用ModbusPoll和ModbusSlave搞定Modbus TCP通信调试
工业自动化新手指南:Modbus TCP调试从入门到精通 第一次打开ModbusPoll和ModbusSlave时,面对满屏的专业术语和参数设置,很多工程师都会感到无从下手。调试过程中遇到的连接失败、数据读写异常等问题更是让人抓狂。本文将带你系统掌握这两款工…...
SIEMENS 6SE7012-0TP50-Z变频器
SIEMENS 6SE7012-0TP50-Z 是西门子 SIMOVERT MASTERDRIVES MC 系列中的一款紧凑型变频器,属于运动控制领域的工程型传动产品。以下是该模块的15条主要产品特点:中间15条特点:属于 SIMOVERT MASTERDRIVES MC 运动控制系列,为 Compa…...
《2026年Z世代五一出行图鉴》出炉,Soul App洞察年轻人出行偏好
在智能推荐驱动的社交环境中,年轻人的旅行观念正发生悄然转变,旅行不再是社交媒体上的攀比素材,也不再是单纯的逃离式出行,而是缓解压力、滋养情绪的私人化体验。作为深受Z世代喜爱的社交平台之一,Soul App精准捕捉到这…...
穿越机飞行控制革命:Betaflight 2025.12版本如何彻底解决抖动问题?
穿越机飞行控制革命:Betaflight 2025.12版本如何彻底解决抖动问题? 【免费下载链接】betaflight Open Source Flight Controller Firmware 项目地址: https://gitcode.com/gh_mirrors/be/betaflight 还在为穿越机飞行中的恼人抖动而烦恼吗&#x…...
战略级开源项目管理平台:OpenProject赋能团队协作的智能化解决方案
战略级开源项目管理平台:OpenProject赋能团队协作的智能化解决方案 【免费下载链接】openproject OpenProject is the leading open source project management software. 项目地址: https://gitcode.com/GitHub_Trending/op/openproject 在数字化转型浪潮中…...
AI协同认知:逻辑与梦境融合的创意生成技术
1. 项目概述:当AI学会"做梦"意味着什么去年我在调试一个创意生成AI时,偶然发现一个有趣现象:当模型在低温度参数下运行后,再突然切换到高随机性状态时,会产生类似"梦境联想"的创意组合。这个意外发…...
你的NAS真的省电吗?用WOL(网络唤醒)搭配智能插座,打造低功耗家庭服务器完整方案
家庭服务器节能实战:用WOL智能插座实现按需供电的完整方案 深夜加班需要调取家庭服务器里的文件,却发现设备24小时运转的电费账单高得吓人;周末想用HTPC看部电影,却要忍受老旧电脑持续工作的风扇噪音——这可能是很多技术爱好者面…...
AirPodsDesktop:Windows用户的终极AirPods完整体验解决方案
AirPodsDesktop:Windows用户的终极AirPods完整体验解决方案 【免费下载链接】AirPodsDesktop ☄️ AirPods desktop user experience enhancement program, for Windows and Linux (WIP) 项目地址: https://gitcode.com/gh_mirrors/ai/AirPodsDesktop 你是否…...
从拧电阻到看数码管:蓝桥杯NE555频率测量实验的硬件原理与软件实现全解
从拧电阻到看数码管:蓝桥杯NE555频率测量实验的硬件原理与软件实现全解 当你第一次面对蓝桥杯开发板上那个小小的蓝色NE555芯片和密密麻麻的电阻电容时,可能会感到一丝困惑。为什么调节RB3电阻会改变数码管显示的数字?为什么NE555的输出要接到…...
Windows下保姆级教程:用TensorRT 8.6.1加速你的YOLOv8模型(从.pt到.trt)
Windows平台YOLOv8模型加速实战:TensorRT 8.6.1全流程解析 在计算机视觉领域,YOLOv8凭借其卓越的检测精度和速度成为工业界的热门选择。然而,当我们需要将训练好的模型部署到实际生产环境时,如何充分发挥硬件性能成为关键挑战。本…...
