千家信息网

c语言中如何实现逆序字符串

发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,这篇文章主要介绍了c语言中如何实现逆序字符串,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用指针逆序字符串思路:给两个指针,left
千家信息网最后更新 2024年11月19日c语言中如何实现逆序字符串

这篇文章主要介绍了c语言中如何实现逆序字符串,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

使用指针逆序字符串

思路:

  • 给两个指针,left放在字符串左侧,right放在最后一个有效字符位置

  • 交换两个指针位置上的字符

  • left指针往后走,right指针往前走,只要两个指针没有相遇,继续2,两个指针相遇后,逆置结束

void reverse_string(char* str){        char* left = str;//首元素        char* right = str + strlen(str) - 1;//最后一个元素        while (left < right)//交换        {                char tmp = *left;                *left = *right;                *right = tmp;    //更新下标                left++;                right--;        }}int main(){        char str[] = "abcdef";        reverse_string(str);        printf("%s", str);        return 0;}

使用递归逆序字符串

思路:

  • 利用递归思想大事化小

  • 先将首元素放到一个变量中

  • 在将最后一个元素放到第一个元素位置

  • 再将最后一个空位置放上\0便于递归逆序中间字符

  • 最后再将首元素放到最后位置

void reverse_string(char* str){        int len = strlen(str);        char tmp = *str;//拿出首元素放到tmp里        *str = *(str + len- 1);//然后把最后一个元素放到第一个元素位置        *(str + len - 1) = '\0';//把最后一个空位置放上一个\0        if (strlen(str + 1) >= 2)//如果字符串还有两个以上字符就逆序                reverse_string(str + 1);        *(str + len - 1) = tmp;//最后把刚才在tmp里的元素放到字符串末尾}int main(){        char str[] = "abcdef";         reverse_string(str);        printf("%s", str);        return 0;}

逆序带空格的字符串

将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I

输入描述:

每个测试输入包含1个测试用例: I like beijing. 输入用例长度不超过100

输出描述:

依次输出倒置之后的字符串,以空格分割

输入:

I like beijing.

输出:

beijing. like I

思路:

  • 第一步逆序每一个单词

  • 第二步整体逆序

#include //逆序字符串的函数void reverse(char*left, char* right){    while(left

感谢你能够认真阅读完这篇文章,希望小编分享的"c语言中如何实现逆序字符串"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

字符 逆序 字符串 元素 指针 空格 两个 位置 单词 输入 篇文章 输出 思路 指向 递归 语言 函数 空位 测试 有效 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 windows 数据库名怎么看 徐俊刚分布式数据库考试题 山洪灾害水利专网及网络安全建设 中小学网络安全周宣传方案 软件开发是不是资产氢资 视综 数据库详细设计说明书 广东工程软件开发多少钱 掌盟怎么查一个人不同服务器的战绩 叙利亚及阿富汗战争数据库 政府机关需要软件开发人员吗 江苏g28042图腾服务器机柜 网络安全的核心安全目标 网络安全员的条件 数据库应用与技术如何考试 华为服务器藏那里 网络安全责任制考核网址 java异常信息放入数据库 上海微搜网络技术 数据库改域名怎么办 有关中考英语网络安全作文题目 故事机连不上服务器 sql2000恢复数据库 ipv6 dhcp服务器 闵行区海航软件开发平均价格 文明用网网络安全手抄报 戴尔服务器一按开机就不启动 数据库概念视频教程下载 renoace小白测评数据库 什么担任网络安全协调会 使命召唤手游服务器维修公告
0