卓越 网站建设 深圳西乡,云服务器购买,免费图片素材网站有哪些,长沙简单的网站建设【C语言每日一题】——倒置字符串#x1f60e;前言#x1f64c;倒置字符串#x1f64c;总结撒花#x1f49e;#x1f60e;博客昵称#xff1a;博客小梦 #x1f60a;最喜欢的座右铭#xff1a;全神贯注的上吧#xff01;#xff01;#xff01; #x1f60a;作者简…
【C语言每日一题】——倒置字符串前言倒置字符串总结撒花博客昵称博客小梦 最喜欢的座右铭全神贯注的上吧 作者简介一名热爱C/C算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主 博主小留言哈喽各位CSDN的uu们我是你的博客好友小梦希望我的文章可以给您带来一定的帮助话不多说文章推上欢迎大家在评论区唠嗑指正觉得好的话别忘了一键三连哦 前言 哈喽各位友友们我今天又学到了很多有趣的知识现在迫不及待的想和大家分享一下我仅已此文和大家分享【C语言每日一题】——倒置字符串~ 都是精华内容可不要错过哟 倒置字符串
题目描述将一句话的单词进行倒置标点不倒置。比如 I like beijing. 经过函数后变为beijing. like I 输入描述每个测试输入包含1个测试用例 I like beijing. 输入用例长度不超过100 输出描述依次输出倒置之后的字符串,以空格分割
示例1 输入 I like beijing. 输出 beijing. like I
解题思路分析 首先认真读题分析解题思路。这道题我的做法是先将整个字符串逆置然后将每一个单词逆置就可以得到答案啦。首先是设计逆置功能函数。用头尾指针依次交换数值停止的条件是当left right。这道题的难点是对每一个单词逆置的条件把控。定义指针cur代替arr后面的操作。保障arr不会改变还能找到字符串的首地址。首先定义一个while循环当cur走到\0时说明字符串已全部按需操作完毕。创建指针str保留cur使得每一次都能够得到单词字符串的首地址。当*cur ! ’ ’ *cur ! ‘\0’ 时就让指针往后走。遇到空格说明走到一个单词的最后面遇到斜杠0说明字符串已经遍历完。遇到空格说明已经找到一单词了再将其逆置即可。每个单词的操作都是如此。需要注意的是跳出里面的while循环后cur本质作用是跳过空格。然后才这样设计的。但是有一种特殊情况是当数组遍历完字符串最后一个单词指针来到斜杠0时就不能跳过斜杠0了不然可能会导致打印错误字符串打印已斜杠0作为结束标志。因此只有当cur走到不为斜杠0的条件才需要cur。 解题源码分享
#includestring.h
#includestdio.h
void reverse(char *left, char *right)
{while (left right){char tem *left;*left *right;*right tem;left;right--;}
}int main()
{char arr[101] { 0 };gets(arr);int len strlen(arr);reverse(arr, arr len - 1);//当遇到\0时说明字符串已全部按需操作完毕char* cur arr;while (*cur){//每一个进行逆置char* str cur;while (*cur ! *cur ! \0){cur;}reverse(str, cur - 1);if(*cur ! \0)cur;}printf(%s, arr);return 0;
}程序输出结果验证
总结撒花 本篇文章旨在分享C语言详解【C语言每日一题】——倒置字符串内容。希望大家通过阅读此文有所收获如果我写的有什么不好之处请在文章下方给出你宝贵的意见。如果觉得我写的好的话请点个赞赞和关注哦~