当前位置: 首页 > news >正文

字符串逆序

 

目录

[编程题]字符逆序(来自牛客网)

方案一:函数+数组

代码思路 

代码 

 方案二:指针实现

代码思路

代码 

方案三:利用两个数组实现字符串的逆序(最简单)

代码

代码解释 


[编程题]字符逆序(来自牛客网)

题目:将一个字符串str的内容颠倒过来,并输出。

数据范围:1 ≤ len(str) ≤10000 

输入格式 输入一个字符串,可以有空格

输出格式 输出逆序的字符串

示例1:

输入:I am a student

输出:tneduts a ma I

示例2:

输入:nowcoder

输出:redocwon 

方案一:函数+数组

代码思路 

1.创建一个数组a并初始化

2.把字符串输入到该数组a

3.求该数组的长度

4.函数实现字符逆序

   (1)用left 和 right 定义字符串的开始和末尾(' \0 '的前一个)

   (2)使用while循环,并创建一个暂时变量,用数组交换,并实现逐步输出

代码 

void reverse_string(char* a,int len)
{char left = 0;char right = len - 1;while (left < right){char temp = a[left];a[left] = a[right];a[right] = temp;left++;right--;}
}int main()
{char a[10000] = { 0 };gets(a);int len = strlen(a);reverse_string(a, len);printf("%s\n", a);return 0;
}

 

 方案二:指针实现

代码思路

1.创建一个字符数组a并初始化

2.输入字符串到该数组a

3.求字符串长度a

4.使用指针定义该字符串最左端和最右端,同上👆再利用while循环交换再输出

代码 

int main()
{char a[10000] = { 0 };gets(a);int len = strlen(a);char* left = a;char* right = a + len - 1;while (left < right){char* temp = *left;*left = *right;*right = temp;right--;left++;}printf("%s\n", a);return 0;
}

 

方案三:利用两个数组实现字符串的逆序(最简单)

代码

int main()
{char a[10] = { 0 };char b[10] = { 0 };gets(a);int len = strlen(a);int i = 0;for (i = 0; i <= (len - 1); i++){b[i] = a[len - 1 - i];}printf("%s\n", b);return 0;
}

 

代码解释 


 

 ***********************************************************分割线*****************************************************************************
完结!!!
感谢浏览和阅读。
等等等等一下,分享最近喜欢的一句话:

“爱情与希望是会杀人的乌托邦”。

我是白子寰,如果你喜欢我的作品,不妨你留个点赞+关注让我知道你曾来过。
你的点赞和关注是我持续写作的动力!!! 
好了划走把。

 

 

相关文章:

  • web坦克大战小游戏
  • Verilog参数、Verilog参数和属性冲突、整数处理
  • 【ArcPy】简化ArcGISPro默认Python环境体量
  • YOLOv8从入门到入土使用教程!(二)目标预测
  • QT使用FFMPEG库开发视频播放器
  • 惠普 DsekJet GT 5810/5820常见问题及解决方法
  • 低代码平台开发——基于React(文末送书)
  • MySQL相关问题
  • NLP_文本特征处理_4(代码示例)
  • 初级软件测试面试题
  • 计算机组成原理-第四章 指令系统【期末复习|考研复习】
  • Python与HTTP服务交互
  • Unix Network Programming Episode 88
  • Python 运算符介绍
  • 将预测的分割结果可视化
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • 11111111
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • CODING 缺陷管理功能正式开始公测
  • css属性的继承、初识值、计算值、当前值、应用值
  • ES6系列(二)变量的解构赋值
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • JavaScript函数式编程(一)
  • JS+CSS实现数字滚动
  • SwizzleMethod 黑魔法
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • vue自定义指令实现v-tap插件
  • 闭包--闭包之tab栏切换(四)
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 免费小说阅读小程序
  • 深入浏览器事件循环的本质
  • 时间复杂度与空间复杂度分析
  • 使用Gradle第一次构建Java程序
  • 通过npm或yarn自动生成vue组件
  • 一份游戏开发学习路线
  •  一套莫尔斯电报听写、翻译系统
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​iOS实时查看App运行日志
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (zt)最盛行的警世狂言(爆笑)
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (学习日记)2024.02.29:UCOSIII第二节
  • (一)u-boot-nand.bin的下载
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .bat批处理(六):替换字符串中匹配的子串
  • .htaccess 强制https 单独排除某个目录
  • .NET 2.0中新增的一些TryGet,TryParse等方法
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)