字符串(2)

4.字符串的常见函数

代码

#include <stdio.h>
#include <string.h>
int main()
{char* str1 = "abc";char str2[100] = "abc";char str3[5] = { 'q','w','e','r' ,'\0' };printf("---------------------strlen(长度)---------------------------\n");////细节:strlen这个函数在统计长度的时候,是不计算结束标记的////细节:在window中,默认情况下,一个中文占2个字节//int len1 = strlen(str1);//3//int len2 = strlen(str2);//3//int len3 = strlen(str3);//4////想要调用这个函数,直接把对应的字符串直接传递给他就行了,这个函数会给我们返回一个整数,就是当前字符串的长度//printf("%d\n", len1);//printf("%d\n", len2);//printf("%d\n", len3);第一个数组要留足够的位置,因为要拼接第二个数组的内容,也需要位置printf("---------------------strcat(拼接)---------------------------\n");////细节:把第二个字符串中全部的内容,拷贝到 第一个字符串的末尾//       //前提1:第一个字符串的内容是可以被修改的//       //前提2:第2个字符串中剩余的空间可以容纳拼接的字符串//strcat_s(str2, str3);//abcqwer//printf("%s\n", str2);//qwer//printf("%s\n", str3);////现在是把str2和str3给传递过去了,也就是说现在要把qwer拼在abc后面printf("---------------------strcpy(拷贝)---------------------------\n");//strcat_s(str2, sizeof(str2), str3);////细节:把第2个字符串所有的内容,拷贝到第一个字符串中,把第一个字符串里面原有的内容给覆盖了////     前提1:第一个字符串是可以被修改的////     前提2:第一个字符串中空间可以容纳第二个字符串的完整内容//printf("%s\n", str2);//qwer//printf("%s\n", str3);//qwerprintf("---------------------strcmp(比较)---------------------------\n");//细节:在比较的时候,要求顺序和内容完全一样,才叫做字符串一样////完全一样:0////只要有一个不一样:非0//int res = strcmp(str1, str2);//printf("%d\n", res);//printf("---------------------strlwr(变小写)---------------------------\n");//细节:只能转换英文的大小写,不能修改中文的大小写——1壹//_strlwr(str2) ;//printf("%s\n",str2);//printf("---------------------strupr(变大写)---------------------------\n");//细节:只能转换英文的大小写,不能修改中文的大小写_strupr_s(str2, sizeof(str2));printf("%s\n",str2);return 0;
}

5.用户登陆

#include <stdio.h>
#include<string.h>
int main()
{/*需求:已知正确的用户名和密码,请用程序实现模拟用户登陆总共给3次机会,登录之后,请给出提示*///1.定义两个变量表示正确的用户名和密码char* rightUsername = "zhangtao";char* rightPassword = "1234qwer";//3.比较for (int i = 1; i <= 3; i++){//2.键盘录入2个字符串,表示用户输入的用户名和密码printf("请输入用户名\n");char username[100];scanf("%s", username);printf("请输入密码\n");char password[100];scanf("%s", password);//验证printf("%s\n", username);printf("%s\n", password);if (!strcmp(username, rightUsername) && !strcmp(password, rightPassword)){printf("登录成功\n");break;}else{if (i == 3){printf("用户%s被锁定,请联系黑马程序员官方账号",username);}else{printf("登录失败,还剩下%d次机会\n", 3 - i);}}}return 0;}

6.统计次数

#include <stdio.h>
#include<string.h>
int main()
{/*键盘录入一个字符串,统计该字符串中大写字母字符,小写字母字符,数字字符出现的次数(不考虑其他字符)*///1.键盘录入一个字符串printf("请输入一个字符串\n");char str[100];scanf_s("%s", str);//2.统计该字符中大写字母字符,小写字母字符,数字字符出现的次数//遍历字符串得到了吗的每一个字符int bigcount = 0;int smallcount = 0;int numbercount = 0;for (int i = 0; i < strlen(str); i++){char c = str[i];if(c>='a' && c<='z'){smallcount++;}else if (c >= 'A' && c <= 'Z'){bigcount++;}else if (c >= '0' && c <= '9'){numbercount++;}}printf("大写字符出现了%d次\n", bigcount);printf("小写字符出现了%d次\n", smallcount);printf("数字字符出现了%d次\n", numbercount);return 0;}

错误

数组名不能直接赋值

输入一行字符,统计其中有多少个单词,单词之间用空格分隔开

if(c=='')//word新单词出现标志,word=0,一般出现空格就要换到另一个新单词
word=0;
else if(word==0)
{
word =1;//表示这是新单词
num++;//遇到非空格就回++,而前面是空格
#include <stdio.h>
int main()
char string[81],c;
int i,num=0;word=0;
gets(string);//不用scanf,不能录入空格
for(i;(c=string[i])!='\0';i++)
if(c=='')
word=0;
else if(word==0)
{word=1;
num++;
}
printf("%d words\n",num);
return 0;

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

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

相关文章

案例分享|企微智能会话风控系统:为尚丰盈铝业筑牢沟通安全防线

企微智能会话安全风险分析系统是一款基于企业微信原生集成的高性能处理平台&#xff0c;其核心在于通过智能监测和AI风险识别技术&#xff0c;对员工与内外部客户的聊天内容进行多模态分析&#xff08;涵盖文本、图片、语音、视频、文件等多种形式&#xff09;&#xff0c;利用…

Paimon——官网阅读:配置

配置(Maintenance) 系统表 表特定系统表 表特定系统表包含关于每个表的元数据和信息&#xff0c;例如创建的快照以及正在使用的选项。用户可以通过批量查询来访问系统表。 目前&#xff0c;Flink、Spark、Trino 和 StarRocks 支持查询系统表。 在某些情况下&#xff0c;表…

阿里云对象存储OSS的使用

文章目录注册阿里OSS注册并登录阿里云账号开通对象存储OSS创建Bucket修改权限创建AccessKey全局存储到你的计算机(可以跳过)查看官方文档(可以跳过)SSM使用引入依赖在spring-mvc.xml中加入配置创建上传工具类AliOssUtil响应工具类ResultJSON编写controller编写前端代码使用Elme…

香港云主机常见使用问题汇总

本文主要为初次或正在接触香港云主机的用户介绍&#xff0c;对于香港云服务器的一些问题进行解答&#xff0c;帮助用户更好的了解香港云主机&#xff0c;熟悉香港云主机。1.香港云主机是否需要备案?香港云主机无需进行像内地服务器那样的 ICP 备案&#xff0c;可直接部署使用。…

JAVA同城打车小程序APP打车顺风车滴滴车跑腿源码微信小程序打车源码

JAVA同城打车系统源码&#xff1a;多端融合的智能出行生态解决方案一、市场需求与行业背景在共享经济蓬勃发展和数字化转型加速的背景下&#xff0c;中国同城出行市场正迎来快速增长期。2025年中国同城出行市场规模预计突破8000亿元&#xff0c;年复合增长率超过25%。基于Sprin…

AI入坑: Trae 通过http调用.net 开发的 mcp server

1. 为什么要写这个 为什么要写这个内容&#xff0c;前几天开始加入到ai大军&#xff0c;通过一周的学习&#xff0c;看了国外网站、看了b站教程、看了抖音教程&#xff0c;居然发现都是开发在本地的mcp server。本地mcp没问题&#xff0c;个人使用都ok&#xff0c;或者通过npx下…

记录Pycharm所使用虚拟环境与终端无法对应

在anaconda安装时&#xff0c;本文中的安装位置在D盘&#xff0c; D:\soware\anaconda 理论环境位置 D:\soware\anaconda\envs 经检查PATH配置均未发现错误&#xff0c;其次问题并不在于Pycharm的设置中解译器与终端的设置经过多次查找未发现可用解决方案 在anaconda建立虚拟环…

国产数据库之YashanDB:新花怒放

YashanDB&#xff08;崖山数据库&#xff09;是由深圳计算科学研究院自主研发的一款新型关系数据库管理系统。 YashanDB 在经典数据库理论基础上&#xff0c;融入了原创的有界计算、近似计算、并行可扩展和跨模融合计算理论&#xff0c;可以满足金融、政企、能源等关键行业对高…

Java基础 9.5

1.异常处理基本介绍异常处理就是当异常发生的时候 对异常处理的方式异常处理方式try-catch-finally程序员在代码中捕获发生的异常 自行处理throws将发生的异常抛出 交给调用者&#xff08;方法&#xff09;处理 最顶级的处理者是JVM示意图2.try-catch方式处理异常说明Java提供t…

B.50.10.06-NoSQL数据库与电商应用

NoSQL数据库核心原理与电商应用实战核心思想: NoSQL (Not Only SQL) 数据库是为了解决传统关系型数据库在超大规模数据、高并发和灵活数据模型方面的不足而设计的。它们通过牺牲部分一致性&#xff08;通常是最终一致性&#xff09;和事务的严格性&#xff0c;来换取极高的性能…

把开发环境丢云上,我的电脑风扇再也没转过!

Hello&#xff0c;兄弟们&#xff0c;我来啦作为一个天天搬砖的程序员&#xff0c;每天最让我心态爆炸的是啥&#xff1f;不是产品又改需求&#xff0c;也不是 Bug 藏得深&#xff0c;而是TMD——配&#xff01;环&#xff01;境&#xff01;新项目 git clone 下来&#xff0c;…

驱动ft232h通信

FT232H是一个单通道USB 2.0高速&#xff08;480Mb/s&#xff09;转换为UART/FIFO IC&#xff0c;具有多种工业标准串行或并行接口配置能力。 1.实验板卡 FPGA型号&#xff1a; FT232H型号&#xff1a; FT232H SINGLE CHANNEL HI-SPEED USB TO MULTIPURPOSE UART/FIFO IC Da…

隔空盗刷、AI钓鱼、代理劫持…金融黑产竟进化至此?

【导读】中国工商银行发布的《2024网络金融黑产研究报告》&#xff0c;以深度洞察拆解黑产攻击“新变种”、勾勒防护新路径&#xff0c;自发布以来&#xff0c;成为金融安全行业的重要参考坐标。本文会提炼出报告中黑产攻击的五大技术演变与体系化防护思路&#xff0c;再结合金…

服务器为啥离不开传感器?一文看懂数据中心“隐形守护者”的关键角色

在现代数据中心或企业机房中&#xff0c;服务器不仅仅是“跑程序”的机器&#xff0c;它们还是一整套复杂系统的一部分。为了保证这些服务器稳定、高效、安全地运行&#xff0c;传感器成了不可或缺的角色。那么&#xff0c;服务器为啥要有传感器&#xff1f;这些传感器到底是干…

React JSX 语法讲解

&#x1f680; React JSX 语法讲解 1. 课程概述 本课程旨在系统讲解 JSX&#xff08;JavaScript XML&#xff09; 的核心概念与实战应用。JSX 是 React 的核心语法扩展&#xff0c;它允许我们在 JavaScript 中编写类似 HTML 的结构&#xff0c;使得构建用户界面变得直观和高效。…

软件安装教程(四):在 Windows 上安装与配置 MATLAB(超详细)

文章目录前言1. 安装前准备&#xff08;必看&#xff09;2. 下载 MATLAB&#xff08;推荐在线安装&#xff09;3. 在 Windows 上安装&#xff08;详细步骤&#xff09;4. 激活 MATLAB&#xff08;在线与离线&#xff09;5. 首次启动与界面入门6. 推荐的基本配置&#xff08;让环…

【运维自动化-标准运维】如何创建流程嵌套(子流程)

什么是子流程节点 标准运维里的流程节点有两类&#xff1a;标准插件节点和子流程节点。子流程节点实际上也是一个流程&#xff0c;比如某个业务线做全网更新时需要更新多个模块&#xff0c;那每个模块的更新流程可以称之为一个子流程。在总流程里直接添加子流程&#xff0c;就通…

clickhouse迁移工具clickhouse-copier

原来的集群没有高可用而且配置很低&#xff0c;所有准备将一个3分片1副本集群迁到1分片2副本的高配置集群&#xff0c;数据量比较大。 虽然官方已经标记clickhouse-copier已经过时&#xff0c;但为了方便和高效还是用了copier&#xff0c;效果还挺好 以下是使用步骤&#xff1a…

高频超声波传感器:以精准感知重塑未来科技生态

在智能制造的浪潮中&#xff0c;高频超声波传感器正以“隐形工程师”的角色&#xff0c;重新定义着工业检测、医疗诊断与环境监测的边界。这款融合了压电材料科学与微纳电子技术的精密仪器&#xff0c;凭借其亚毫米级测量精度与纳秒级响应速度&#xff0c;正在成为高端装备制造…

残差连接与归一化结合应用

残差连接&#xff08;Residual Connection / Skip Connection&#xff09;和归一化&#xff08;Normalization&#xff09;的结合&#xff0c;是现代深度学习模型&#xff08;尤其是深度神经网络和Transformer架构&#xff09;成功的关键因素之一。 核心概念回顾残差连接 (Resi…