每天一道C语言精选编程题之求求字符串长度【进阶版】

嵌入式软件c语言笔试题 这段时间参见嵌入式c笔试,对笔试中的一些c语言题目进行总结收录。 1、CPU大小端问题 #include <stdio.h> void main() { union { int a; char b; }c; c.a 阅读详情
题目描述
写⼀个函数Strlen,可以求字符串⻓度,除了函数的形参,函数中不能使⽤多余的变量。
输⼊⼀个字符串(字符串⻓度⼩于等于30,中间不包含空格),使⽤Strlen函数可以求字符串的⻓
度,并返回。
注:字符串的结束标志是 \0 .
解法思路
递归是⼀种通过反复调⽤⾃⾝来解决问题的⽅法。在递归函数中,函数会调⽤⾃⼰,并在每次调⽤中传⼊不同的参数,直到达到某个基准条件,然后递归结束并返回结果。递归可以让⼀些复杂的问题更 容易理解和解决。
在编写递归函数时,需要考虑以下⼏个要素:
1. 递归结束条件:递归必须有⼀个结束条件,否则会导致⽆限递归,最终导致堆栈溢出等问题。
2. 递归调⽤:在递归函数中必须调⽤⾃⾝。
3. 递归传参:递归函数每次调⽤⾃⾝时,需要传⼊不同的参数,以处理不同的情况。
本题我们可以利⽤递归解决,递归函数的实现步骤如下:
1. 递归结束条件:字符串指针指向空字符;
2. 递归调⽤:字符串的⻓度=1+后⾯⼦字符串的⻓度;
3. 递归传参:当前字符串指针后移的结果。
通过不断调⽤递归函数,我们最终可以得到字符串的⻓度。
解法代码
#include <stdio.h>
//使⽤递归的⽅式解决
int Strlen(const char* str)
{
	//递归结束条件
	if (*str == '\0')
		return 0;
	else
		//返回1加后⾯⼦字符串的和
		return 1 + Strlen(str + 1);
}
int main()
{
	char arr[31] = { 0 };
	//输⼊字符串
	scanf("%[^\n]s", arr);
	//获取字符串⻓度
	int len = Strlen(arr);
	printf("%d\n", len);
	return 0;
}
运行结果
输⼊:abcdef
输出:6
输⼊:abc defghi
输出:10

海外最新AI营销AI销售书籍推荐AI营销培训讲师AI销售培训讲师人工智能营销培训师人工智能销售培训师AI赋能营销培训AI赋能销售培训企业AI营销内训企业AI销售内训AI营销课程讲师AI销售课程讲师 专栏|AI营销与AI销售实战 · 第46期在这个人类与算法共舞的时代,销售,已经不是你我熟悉的那个“打电话、见客户、做PPT”的老行当了。你还以为销售是“打感情牌”?错了,情感要继续,但方式已经升级。你还以为AI只是“写写文案”?错了,文案只是皮毛,真正的杀器,是思维方式的重构,是认知地图的重绘。首先,我们需要明确一个事实:AI并不会消灭销售这个职业,但它必然会重新定义销售的本质。在销售领域,真正的制胜之道不是简单地采用AI工具,而是的能力。 阅读详情

相关推荐

基于OpenSSL的CA建立及证书签发(签发多域名/IP)

自签SSL证书(多域名/IP) 本文基于以下环境: 内核信息:Linux zabbix 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux 系统版本:CentOS Linux release 7.6.1810 (Core) OpenSSL版本:OpenSSL 1.0.2k-fips 26 Jan 2017 【前言】 在基于OpenSSL的CA建立及证书签发一文中(后面统.

hobby云说 4647

C语言精选100道编程题(附有图解和源码)

本文精选了100道C语言编程题,涵盖基础算法和常见问题。内容包括:打印1-100奇数、九九乘法表、判断素数、三角形判断、最大公约数/最小公倍数计算、分数求和以及数组最值差计算。每道题目均配有详细图解、解题思路和完整源码实现,适合C语言初学者练习基础语法和算法思维。题目难度由浅入深,从简单的循环结构到数学运算和逻辑判断,帮助读者逐步提升编程能力。部分题目提供多种解法(如辗转相除法求公约数),并附有优化方案说明。

铭哥不写bug的博客 4928

STM32duino LSM6DSO驱动库:低功耗IMU工程化实践

惯性测量单元(IMU)是智能终端与工业设备实现运动感知的核心传感器,其性能关键在于数据精度、实时响应与系统功耗的协同优化。LSM6DSO作为集成加速度计与陀螺仪的六轴MEMS器件,依托片上有限状态机(FSM)和机器学习核心(MLC),支持自由落体检测、计步器、6D方向识别等硬件自治功能,显著降低主控CPU负载。在STM32平台下,通过深度耦合HAL/LL库、显式引脚管理、DMA加速SPI传输及EXTI中断协同,可实现亚毫秒级事件响应与微安级待机功耗。本文聚焦STM32duino生态中LSM6DSO驱动的工程

weixin_36304957的博客 552

每天一道C语言精选编程题之求字符串长度

指针是⼀种可以指向内存地址的数据类型,我们可以通过移动指针的位置来访问内存中的不同数据。在本题中,我们可以定义⼀个指向字符串开头的指针,并不断地移动它来计算字符串⻓度。中,以字符数组的形式存在,数组的最后⼀个元素是空字符'\0',⽤来表⽰字符串的结束。⽐如说字符串"hello",在内存中存储的形式就是'h'、'e'、'l'、'l'、'o'、'\0'。输⼊⼀个字符串(字符串⻓度⼩于等于30,中间不包含空格),使⽤Strlen函数可以求字符串的长度,并返回。⾸先,我们需要了解字符串的存储⽅式。

huc_error的博客 681

三边定位的最小二乘法运用

已知:条件基站到移动台的距离D,基站的坐标(xi,yi,zi) 求:移动台的坐标(x,y,z) 运用最小二乘法的核心是找到最小二乘法的矩阵形式即 Ax=B 在本次实验中通过三边定位计算得到 A=[A;2*(xi-x1),2*(yi-y1),2*(zi-z1]; %系数矩阵A b=[b;D1^2-Di^2+xi^2+yi^2+zi^2-x1^2-y1^2-z1^2]; %增广矩阵b

qq_26250141的博客 1万+

MiniMax H3本地部署与ComfyUI集成实战:从环境配置到提示词优化

文本到视频生成是AI内容创作领域的关键技术,它基于扩散模型等深度学习原理,将自然语言描述转化为连贯的动态视觉序列。这项技术的核心价值在于大幅降低了视频制作的门槛,为短视频创作、概念可视化、教育内容生成等场景提供了高效工具。在实际工程实践中,成功部署和运行此类模型,如近期备受关注的MiniMax H3,需要精准处理环境配置、显存优化和提示词工程等环节。其中,解决“CUDA error: no kernel image is available”等版本兼容性问题,以及针对“8G显存”等有限资源进行参数调优,是确

weixin_33674976的博客 479

每天一道C语言精选编程题之逆序字符串

因此,我们可以定义两个指针分别指向字符串⾸位和末位,对其进⾏交换操作,然后将两个指针相向移动⼀位,继续交换剩余字符。直⾄两个指针的相对位置发⽣变化时结束操作,最终得到的字符串即为逆序后的字符串。最中间的两位互换,或者字符串⻓度为奇数时,中间字符不变。输⼊⼀个字符串,写⼀个函数将⼀个字符串的内容逆序过来。第⼆位与倒数第⼆位互换;

huc_error的博客 479

AI辅助游戏开发实战:Kimi K3提升Unity开发效率与代码质量

在游戏开发领域,有限状态机(FSM)是构建角色AI行为逻辑的核心设计模式,它通过定义明确的状态和转换条件,使游戏实体能够智能地响应环境变化。其原理在于将复杂的行为分解为离散的状态节点,并通过事件驱动状态切换,从而实现清晰、可维护的AI架构。这项技术的价值在于显著提升了游戏角色的行为真实感和开发效率,被广泛应用于NPC行为控制、角色动画管理、UI流程等场景。随着AI编程助手的兴起,开发者现在可以借助如Kimi K3这类工具,通过自然语言指令快速生成和优化FSM等复杂系统的代码框架,将更多精力投入到核心玩法与性

weixin_30430677的博客 409

C语言 40道编程题

目录 1、输入三个整数x,y,z,请把这三个数由小到大输出。... 2 2、输出9*9口诀。... 3 3、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?... 4 4、输入某年某月某日,判断这一天是这一年的第几天?... 5 5、古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可)... 7 6、一球从100米高度自由落下,每次落地后反跳回原

m0_57105760的博客 4003

Transformer实战(39)——多模态生成式Transformer

能够理解多种类型输入的模型被称为多模态模型。多模态学习是人工智能 (Artificial Intelligence, AI) 领域的重要研究方向之一,长期受到众多研究人员的关注。本节将介绍使用多模态模型的生成式 AI,包括文本到图像 (text-to-image) 和文本到音乐 (text-to-music) 的生成模型。将介绍 Stable Diffusion 及其工作原理,同时也将介绍 MusicGen 和 AudioGen 模型。

盼小辉丶的博客 2460

完整功能-《网络安全创新实践》:设计并实现一种基于Npcap的网络嗅探器(直接能运行cpp的MFC代码+实验报告)

《网络安全创新实践》:设计并实现一种基于Npcap的网络嗅探器。(直接能跑的MFC)监听所有数据包,以及监听指定IP地址的数据包;(2)能够显示完整的IP数据包首部信息,例如:版本、首部长度、数据包长度、数据包类型(协议字段)、TTL、源IP地址、目的IP地址等;(3)能够显示完整的TCP报文段信息,例如:源端口、目的端口、序号、确认号、数据部分等;(4)能够自动检测SQL注入攻击等Web攻击行为;(5)能够将监听到的数据包信息保存到文件中,以及从文件中读取并显示数据包信息;(6)具有图形化操作界面。

weixin_46531010的博客 661

每天一道C语言精选编程题之判断回文字符串

输⼊⼀个字符串,判断这个字符串是否是回⽂字符串(字符串的⻓度⼩于等于30,字符串不包含空格),如果是回⽂字符串输出Yes,如果不是回⽂字符串输出No。

huc_error的博客 464

ROS机器人未知环境自主探索功能包explore_lite最全源码详细解析(五)

本系列文章主要针对ROS机器人常使用的未知环境自主探索功能包explore_lite展开全源码的详细解析,并进行概括总结。 本系列文章共包含六篇文章,前五篇文章主要介绍explore_lite功能包中 explore.cpp、costmap_tools.h、frontier_search.cpp、costmap_client.cpp等源码实现文件中全部函数的详细介绍,第六篇文章进行概括总结,包含自主探索功能包explore_lite的简介,实现未知环境自主探索功能的原理及流程总结,效果演示,使用功能包exp

慕羽★的博客 1512

的c语言编程函数题,C语言编程题及答案Word版

《C语言编程题及答案Word版》由会员分享,可在线阅读,更多相关《C语言编程题及答案Word版(122页珍藏版)》请在人人文库网上搜索。1、传播优秀Word版文档 ,希望对您有帮助,可双击去除!1请编写函数fun,其功能是:找出2M整型二维数组中最大元素的值,并将此值返回调用函数。int fun (int a M)int i,j,maxa00;for(i0;ieps)/*当某项大于精度要求时,继续...

weixin_39785723的博客 391

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

c语言对联程序代码,C语言编程题精选及答案.doc

C语言编程题精选及答案.doc下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。2.下载的文档,不会出现我们的网址水印。3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。文档包含非法信息?点此举报后获取现金奖励!下载文档到电脑,查找使用更方便20积分还剩页未读,继续阅读关键...

weixin_33548183的博客 1156

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【C语言编程进阶精选题】

【C语言编程进阶精选题】

weixin_63003502的博客 1129

【C语言篇】C语言常考及易错题整理DAY3

C语言精选常考题以及易错题整理,一起来练练手吧!❤️

半截诗的博客~ 1782

C语言每日一练(三)

C语言作为嵌入式Linux开发的必备工具,作为嵌入式Linux开发的基础语言,那么在面试嵌入式工程师时C语言定是面试中的重中之重 。作为一名大三的老学长,不得不为找工作做必要准备。每天做一道C语言面试题,为面试打基础。 2020.09.04 题目描述        输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。 输入描述:        输入一.

万里羊的博客 1万+

c语言关于字符串的题目,关于C语言精选模拟练习题

(variable scope)以及递归功能的过程式语言。下面是小编为大家整理的关于C语言精选模拟练习题,欢迎参考~5: 请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用c语言提供的`求。的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。程序运行后,如果输入精度0.0005,则程序输出为3.14…C语言是一个有结构化程序设计、具有变量。关于C语言精选模拟练习题。

男神的专栏 429

【c语言数组精选代码题】

【c语言数组精选代码题】

weixin_63003502的博客 1230

大学生版保姆式学C语言——期末核心考点大总结+编程题

这一篇咱们做个终极收尾,把期末考所有高频考点做个极简汇总,再给大家整理20道期末必考编程题,从基础题到综合题全覆盖,不管是平时作业、期末抱佛脚,还是考前突击,这一篇直接一站式搞定

ZhongWeiXiang9的博客 899

【c语言数组精选题】

🍻适合计算机二级,考研复试,期末复习…

weixin_63003502的博客 3110

c语言编程考试题及答案,2017年计算机二级考试C语言编程题练习题及答案

2017年计算机二级考试C语言编程题练习题及答案11.3程序设计题学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:把分数最高的学生数据放在b所指的数组中。注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。【参考答案】int fun( STREC *a, STREC *b ){int i,j=0,max=a[0].s;for(i=0...

weixin_35706255的博客 777

【c语言指针精选题】

c语言指针精选题目。带有详解!

weixin_63003502的博客 1379

[c语言日寄]字符串进阶:KMP算法

在字符串匹配领域,暴力匹配算法(Brute-Force)是最直观的解决方案:遍历主串的每个字符作为起点,依次与模式串的字符匹配,若发现不匹配则回退主串指针并重新尝试。这种算法的时间复杂度为O(m×n)(m 和 n 分别是主串和模式串的长度),在面对长文本或高频次匹配时效率极低。例如,当主串为(含 1000 个 A),模式串为"AAAAB"时,暴力算法需要回退主串指针近千次,而KMP 算法(Knuth-Morris-Pratt)通过避免无意义的回退,将时间复杂度优化为O(m+n)

2401_83741734的博客 2657

浙大版《C语言程序设计(第4版)》题目集参考思路集

@[TOC]目录 函数题 1. 求m到n之和 2. 找两个数中最大者 3. 字符金字塔 4. 符号函数 5. 使用函数求奇数和 6. 使用函数计算两点间的距离 7. 使用函数求素数和 8. 使用函数统计指定数字的个数 9. 使用函数输出水仙花数 10. 使用函数求余弦函数的近似值 11. 空心的数字金字塔 12. 分类统计字符个数 13. 使用函数求特殊a串数列和 14. 使用函数输出指定范围内的完数 15. 使用函数输出指定范围内的Fib

weixin_61168459的博客 1693

大学C语言字符串题目,[转载]大学C语言考试题精选

一. 填空题(每题2分,共20分)1. C语言基本数据类型有:_______________________________;构造类型有:_____________________________________。 P.132.C语言源程序注注释符号是:________________________________,为表明层次结构,C语言源程序通常采用_____________________格...

weixin_35455135的博客 874
上一篇: 每天一道C语言精选编程题之求字符串长度
下一篇: 每天一道C语言精选编程题之逆序字符串
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

混迹网络的权某

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值