C语言学习之统计英文字符串中26个字母大小写出现的次数

  • 实例要求:
  • 编写C语言代码,统计出英文字符串中26个字母大写和小写出现的次数;
  • 输入输出如下所示:
输入:"aabbAAABBCCCCZZ"
输出:a ------- 2A ------- 3b ------- 2B ------- 2c ------- 0C ------- 4...Z ------- 2
  • 实例分析:
  • 1.对字符串用while循环或者for循环进行遍历,找到26个英文字母大小写
  • 2.将所有英文字母大写或者小写都转换成ASCII值,进行运算;
  • 3.封装相应的功能函数,在main函数中进行函数调用即可;
  • 示例代码:
#include <stdio.h>
#include <string.h>void init_string(char *p){scanf("%s",p);}void count_string(char *p,int *num1,int *num2){int len = strlen(p);for(int i = 0;i < len; i++){if(p[i] >= 'a' && p[i] <= 'z'){num1[p[i] - 'a'] += 1;}if(p[i] >= 'A' && p[i] <= 'Z'){num2[p[i] - 'A'] += 1;}}}void print_string(int *num1,int *num2){for(int i = 0; i < 26; i++){printf("%c ------- %d\n", 'a'+i, num1[i]);printf("%c ------- %d\n", 'A'+i, num2[i]);}}int main(int argc, char const *argv[])
{char a[200] = {0};int m[26] = {0};int n[26] = {0};printf("请输入一段纯英文的字符串>>\n");init_string(a);count_string(a,m,n);print_string(m,n);return 0;
}
  • 运行结果:
aabbAAABBCCCCZZ
a ------- 2
A ------- 3
b ------- 2
B ------- 2
c ------- 0
C ------- 4
d ------- 0
D ------- 0
e ------- 0
E ------- 0
f ------- 0
F ------- 0
g ------- 0
G ------- 0
h ------- 0
H ------- 0
i ------- 0
I ------- 0
j ------- 0
J ------- 0
k ------- 0
K ------- 0
l ------- 0
L ------- 0
m ------- 0
M ------- 0
n ------- 0
N ------- 0
o ------- 0
O ------- 0
p ------- 0
P ------- 0
q ------- 0
Q ------- 0
r ------- 0
R ------- 0
s ------- 0
S ------- 0
t ------- 0
T ------- 0
u ------- 0
U ------- 0
v ------- 0
V ------- 0
w ------- 0
W ------- 0
x ------- 0
X ------- 0
y ------- 0
Y ------- 0
z ------- 0
Z ------- 2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/63242.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

项目-电商

kafka优化 java使用KafkaAdminClient进行增&#xff0c;删&#xff0c;查操作kafka_包子1012的博客-CSDN博客 避免非必要的rebalancecomsumer没有及时发送心跳导致consumer被踢出consumergroupheartbeat.interval.ms 2ssession.timeout.ms 6s

Java中的消息队列有哪些?

在Java中&#xff0c;有几种常见的消息队列实现&#xff0c;包括&#xff1a; Apache Kafka&#xff1a;一个分布式流处理平台&#xff0c;具有高吞吐量、可持久化、可扩展等特点。 RabbitMQ&#xff1a;一个开源的消息代理&#xff0c;实现了AMQP&#xff08;高级消息队列协议…

nginx反向代理 负载均衡

目录 1.反向代理介绍&#xff1a; 2.七层代理和四层代理&#xff1a; 2.1 七层代理&#xff1a; 2.2 四层代理&#xff1a; 3.反向代理web服务器&#xff1a; 3.1 代理服务器配置&#xff1a; 3.2 服务器配置 &#xff1a; 3.3 客户端访问&#xff1a; 3.4 代理不同端口&am…

VMware虚拟机的安装以及安装CentOS系统

VMware虚拟机是一款非常受欢迎的虚拟化软件&#xff0c;它可以模拟一台计算机运行在另一台计算机上&#xff0c;从而实现在一台物理机器上运行多个虚拟机的目的。在本文中&#xff0c;我们将会介绍如何安装VMware虚拟机并在其中安装CentOS操作系统。 文章目录 &#x1f4c0;VMw…

微机原理 || 8253接口芯片知识点+4道经典例题+手写解题过程

&#xff08;二&#xff09;经典考题&#xff1a; 【例1】: 设8253端口地址为300H&#xff5e;303H&#xff0c;要求计数器2工作在方式5&#xff0c;二进制计数&#xff0c;CLK22MHz&#xff0c;OUT21KHz。试按上述要求完成8253的初始化。 【例2】&#xff1a;选择计数器0工…

说说FLINK细粒度滑动窗口如何处理

分析&回答 Flink的窗口机制是其底层核心之一&#xff0c;也是高效流处理的关键。Flink窗口分配的基类是WindowAssigner抽象类&#xff0c;下面的类图示出了Flink能够提供的所有窗口类型。 Flink窗口分为滚动&#xff08;tumbling&#xff09;、滑动&#xff08;sliding&am…

【LeetCode算法系列题解】第21~25题

CONTENTS LeetCode 21. 合并两个有序链表&#xff08;简单&#xff09;LeetCode 22. 括号生成&#xff08;中等&#xff09;LeetCode 23. 合并K个升序链表&#xff08;困难&#xff09;LeetCode 24. 两两交换链表中的节点&#xff08;中等&#xff09;LeetCode 25. K 个一组翻转…

【SpringBoot】用SpringBoot代码详细解释<List>的用法

在Spring Boot应用程序中&#xff0c;我们可以使用Java集合框架中的List接口来存储并操作一组数据。 List是Java集合框架中的一种数据结构&#xff0c;用于存储一组有序的元素。使用List可以方便地向其中添加、删除或者修改元素&#xff0c;也可以通过下标或者迭代器遍历其中的…

YOLO数据集划分(训练集、验证集、测试集)

1.将训练集、验证集、测试集按照7:2:1随机划分 1.项目准备 1.在项目下新建一个py文件&#xff0c;名字就叫做splitDataset1.py 2.将自己需要划分的原数据集就放在项目文件夹下面 以我的为例&#xff0c;我的原数据集名字叫做hatDataXml 里面的JPEGImages装的是图片 Annota…

【提示工程】询问GPT返回Json结构数据

theme: orange 众所周知&#xff0c;我们可以通过构建的Prompt获取期望的内容&#xff0c;但是通常都是以自然语言返回的&#xff0c;假如我们想得到结构化的数据&#xff0c;比如Json&#xff0c;XML那么怎么办&#xff0c;这篇文章给你一个思路。 理所当然的想法 要实现询问大…

python类的属性和实例的属性有什么区别

在 Python 中&#xff0c;类属性和实例属性是两种不同类型的属性&#xff0c;它们在用途和作用域上有所不同。下面是关于它们的区别的详细解释&#xff1a; 定义位置&#xff1a; 类属性&#xff1a;定义在类的主体中&#xff0c;但在任何类方法之外。实例属性&#xff1a;通常…

【深度学习】ChatGPT

本文基于Andrej Karpathy(OpenAI 联合创始人&#xff0c;曾担任特斯拉的人工智能和自动驾驶视觉主管)在Microsoft Build 2023上的演讲整理而成&#xff08;完整的视频在文末&#xff0c;直接拖到文章底部&#xff09;&#xff0c;主要分为2大部分&#xff1a; 1.如何训练GPT(可…

亚马逊的邮箱可以更改吗,修改亚马逊账户邮箱的方法

亚马逊的邮箱可以更改吗&#xff1f; 可以更改&#xff0c;但更改主户邮箱需要电话对身份进行深度验证。如果需要修改&#xff0c;可以先开case向客服说明情况&#xff0c;然后根据客服的指导步骤来操作即可。 修改亚马逊账户邮箱的方法 1、登录您的账户&#xff1a;打开亚马…

如何有效防止服务器被攻击?

随着互联网的快速发展&#xff0c;服务器安全问题日益引起人们的关注。近期&#xff0c;全球范围内频繁发生的服务器攻击事件引发了广泛关注。为了保护企业和个人的数据安全&#xff0c;有效防止服务器被攻击已成为迫在眉睫的任务。 首先&#xff0c;及时更新服务器的操作系统和…

《C和指针》笔记20:布尔值的注意事项

比较布尔值的时候下面的代码看起来是一样的。 #define FALSE 0 #define TRUE 1 if(flag FALSE) if(!f1ag) ... if(flag TRUE) if(flag) ...但是&#xff0c;如果flag设置为任意的整型值&#xff0c;那么第2对语句就不是等价的。只有当flag确实是TRUE或FALSE&#xff0c;或者…

C++|观察者模式

观察者模式&#xff1a; 定义对象间的一种一对多&#xff08;变化&#xff09;的依赖关系&#xff0c;以便当一个 对象(Subject)的状态发生改变时&#xff0c;所有依赖于它的对象都 得到通知并自动更新 动机&#xff1a; 在软件构建过程中&#xff0c;我们需要为某些对象建立…

数学之美 — 1

为什么你会想和他人共享那些美丽的事物呢&#xff1f;因为这会让他&#xff08;她&#xff09;感到愉悦&#xff0c;也能让你在分享的过程中重新欣赏一次事物的美。 ——David Blackwell 1、感官之美&#xff0c;对于那些有规律的事物&#xff0c;你可以利用自己的视觉、触觉、…

Java实战场景下的ElasticSearch

文章目录 前言一、环境准备二、RsetAPI操作索引库1.创建索引库2.判断索引库是否存在3.删除索引库 二、RsetAPI操作文档1.新增文档2.单条查询3.删除文档4.增量修改5.批量导入6.自定义响应解析方法 四、常用的查询方法1.MatchAll():查询所有2.matchQuery():单字段查询3.multiMatc…

【ES6】JavaScript中的异步编程:async和await

在JavaScript中&#xff0c;异步编程是一种处理长时间运行的操作的方法&#xff0c;这些操作包括读取文件、网络请求或处理大数据等。在传统的回调函数中&#xff0c;代码按照顺序执行&#xff0c;一旦遇到长时间运行的操作&#xff0c;就需要回调函数来处理结果。这使得代码变…

python自动化测试- 自动化框架及工具

1 概述 手续的关于测试的方法论&#xff0c;都是建立在之前的文章里面提到的观点&#xff1a; 功能测试不建议做自动化接口测试性价比最高接口测试可以做自动化 后面所谈到的 测试自动化 也将围绕着 接口自动化 来介绍。 本系列选择的测试语言是 python 脚本语言。由于其…