嵌入式系统挑战赛题目---递归方法实现字符串反转函数

news2024/9/24 19:18:32

一、题目要求

递归函数是一种在函数内容调用自身的函数。它通过将复杂的问题分解成更小的子问题来解决。递归函数通常包含两部分:基本情况和递归调用。请使用递归方法实现字符串反转的C语言函数。

请根据要求在begin、end间完成代码,不要改变代码中其他部分。

示例输入和输出:

输入:Enter a string:hello,world!

输出:Reversed string:!dlrow,olleh

二、程序代码

#include <stdio.h>
#include <string.h>


void reverseString(char* str)
{
    ///Begin///
    // 递归基
    int len = strlen(str);//调用上面的字符串长度函数;
	if(len <= 1)	//当字符串长度小于等于1时,不执行;
		return ;
	else
	{
		char temp = str[0];	 //将第一个字符的值保存在temp中;
		str[0] = str[len-1];//将最后一个字符赋给第一个字符;
		str[len-1] = '\0';	//将最后一个字符的内容赋为'\0';
		reverseString(str+1);//递归调用下一次反转;
		str[len-1] = temp;	//将temp赋给当前的最后一个字符;
	}
	
    // 递归调用

    End 

    // 输出当前字符
//   printf("%c", str);
}

int main()
{
    char str[100];
    


    printf("Enter a string: \n");
    scanf("%s", str);

    printf("Reversed string: \n");
    reverseString(str);
    printf("%s", str);
    printf("\n");

    return 0;
}

三、程序在DEV C++测试验证

 

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

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

相关文章

开具实习证明:在线实习项目介绍

大数据在线实习项目&#xff0c;是在线上为学生提供实习经验的项目。我们希望能够帮助想要在毕业后从事数据科学类工作的学生更加顺利地适应从教室到职场的转换&#xff1b;也帮助那些在工作中需要处理数据、实现数据价值的其他职能的从业者高效快速地掌握每天都能用起来的数据…

3、Kafka 线上集群部署方案怎么做?

文章目录 1、操作系统的选择1.1、I/O 模型的使用1.2、数据网络传输效率1.3、社区支持度 2、磁盘的选择3、磁盘容量的规划3.1、举例思考本问题&#xff1a;3.2、计算一下&#xff1a;3.3、规划磁盘容量时你需要考虑下面这几个元素&#xff1a; 4、带宽规划4.1、计算 总结 1、操作…

CSS基础面试题

介绍一下标准css盒子模型与低版本IE的盒子模型&#xff1f; 标准盒子模型&#xff1a;宽度内容的宽度&#xff08;content&#xff09; border padding margin 低版本IE盒子模型&#xff1a;宽度内容宽度&#xff08;contentborderpadding&#xff09; margin box-sizing 属性…

Java架构师-数据机构与算法实战(第一篇)

数学知识回顾 指数 指数函数是重要的基本初等函数之一。一般地&#xff0c;ya^x函数(a为常数且以a>0&#xff0c;a≠1)叫做指数函数&#xff0c;函数的定义域是 R 。注意&#xff0c;在指数函数的定义表达式中&#xff0c;在a^x前的系数必须是数1&#xff0c;自变量x必须在…

网易市值超过美团成为中国市值第四大互联网公司 |魔法半周报

我有魔法✨为你劈开信息大海❗ 高效获取AIGC的热门事件&#x1f525;&#xff0c;更新AIGC的最新动态&#xff0c;生成相应的魔法简报&#xff0c;节省阅读时间&#x1f47b; &#x1f525;资讯预览 网易市值超过美团成为中国市值第四大互联网公司 百度文心一言插件商城正式上…

SQL数列

SQL数列 1、数列概述2、SQL数列2.1、简单递增序列2.2、等差数列2.3、等比数列3、SQL数列的应用3.1、连续问题3.2、多维分析1、数列概述 数列是最常见的数据形式之一,实际数据开发场景中遇到的基本都是有限数列。常见的数列例如:简单递增序列、等差数列、等比数列等 SQL如何实…

lv12 交叉开发环境搭建 3

1 ubuntu网络环境配置 目的&#xff1a;让Ubuntu可以上外网&#xff0c;让开发板可以与ubuntu互通 2 tftp 服务器环境搭建 tftp&#xff08;Trivial File Transfer Protocol&#xff09;即简单文件传输协议 是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件 传输…

PaddleClas学习3——使用PPLCNet模型对车辆朝向进行识别(c++)

使用PPLCNet模型对车辆朝向进行识别 1 准备环境2 准备模型2.1 模型导出2.2 修改配置文件 3 编译3.1 使用CMake生成项目文件3.2 编译3.3 执行3.4 添加后处理程序3.4.1 postprocess.h3.4.2 postprocess.cpp3.4.3 在cls.h中添加函数声明3.4.4 在cls.cpp中添加函数定义3.4.5 在main…

邮件群发平台推荐:提升邮件营销效果的关键

邮件群发平台是外贸、跨境电商、出海企业常用的一种营销方式。他以低成本、高投资回报比获得了众多企业的青睐。现市场上有各种功能各异、价格不同的邮件群发平台&#xff0c;企业在抉择的时候也会犯难。所以&#xff0c;邮件群发平台哪个好用呢&#xff1f;Zoho Campaigns就是…

Vue3-11- 【v-for】循环数组

v-for的基本介绍 v-for 是一个指令&#xff0c; 它是用来在 html 模板中实现循环的。它可以循环 普通的数组、也可以直接循环一个范围值&#xff0c;也可以循环对象的每个属性。v-for 的语法介绍 <div v-for"(item,index) in arrayName" : key"index"…

lua安装

lua安装 1.Lua介绍 特点&#xff1a;轻量、小巧。C语言开发。开源。 设计的目的&#xff1a;嵌入到应用程序当中&#xff0c;提供灵活的扩展和定制化的功能。 luanginx&#xff0c;luaredis。 2.windows安装lua windows上安装lua&#xff1a; 检查机器上是否有lua C:\U…

scala笔记

函数字面量 字面量包括整形字面量、浮点数子面量、布尔型字面量、字符字面量、字符串字面量、符号字面量、函数字面量和元组字面量 除了函数字面量我们比较陌生以外&#xff0c;其他几种字面量都很容易理解 val counter: Int > Int {(value) > value 1}匿名函数 val…

UE4/UE5 日志插件(基于spdlog)

1 解决问题 对于高频日志序列化到本地的需求&#xff0c;spdlog肯定完美满足。 源码地址&#xff1a;https://github.com/gabime/spdlog 博主下载的版本为 spdlog-1.12.0&#xff0c;各位大佬可以根绝自己爱好选择。 2 过程介绍 大概目录&#xff1a; SpdlogLibC目录下是对…

牛客网SQL训练3—SQL必知必会

文章目录 一、检索数据二、排序检索数据三、过滤数据四、高级数据过滤五、用通配符进行过滤六、创建计算字段七、使用函数处理数据八、汇总数据九、分组数据十、使用子查询十一、联结表十二、创建高级联结十三、组合查询 一、检索数据 【题目1&#xff1a;从 Customers 表中检…

常见的Linux基本指令

目录 什么是Linux&#xff1f; Xshell如何远程控制云服务器 Xshell远程连接云服务器 Linux基本指令 用户管理指令 pwd指令 touch指令 mkdir指令 ls指令 cd指令 rm指令 man命令 cp指令 mv指令 cat指令 head指令 ​编辑 tail指令 ​编辑echo指令 find命令 gr…

【教程】Autojs脚本实现暂停和超时重启功能的思路和示例代码

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 背景介绍 autojs本身不支持暂停脚本&#xff0c;现有网上大部分最直接的做法就是在每条语句后面添加检查是否暂停。当脚本功能和代码量非常打的时候&#xff0c;每一条语句后面都加检测&#xff0c;未免不太现实。…

【SpringBoot】Starter的使用与案例讲解

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的专栏《SpringBoot》。&#x1f3af;&#x1f3af; &…

Linux主机自动注册NPS客户端(脚本化)

参考官方对API使用方法的定义&#xff1a;https://ehang-io.github.io/nps/#/ 1、首先必须要在配置文件中开启 auth_key 并配置一个合适的密钥 2、修改脚本中的可变量参数&#xff0c;以适配自己的环境 #!/bin/bash # 脚本使用说明&#xff1a;# 脚本名称&#xff1a;npc_cr…

I Doc View在线文档预览系统cms.json存在RCE漏洞

文章目录 产品简介漏洞概述指纹识别漏洞利用修复建议 产品简介 i Doc View是一个在线文档解析应用&#xff0c;旨在提供便捷的文件查看和编辑服务。 漏洞概述 iDocView是一个在线文档I Doc View在线文档预览系统cmd.json 处存在命令执行漏洞&#xff0c;攻击者可通过此漏洞获…

【产品经理】需求池和版本树

在这个人人都是产品经理的时代&#xff0c;每位入行的产品人进阶速度与到达高度各有不同。本文作者结合自身三年产品行业的经历&#xff0c;根据案例拆解产品行业的极简研发过程、需求池、版本树、产品自我优化等相关具体方法论。 一、产品研发的极简过程 1. 产品概述 产品就…