🌹作者:云小逸 📝个人主页:云小逸的主页 📝码云:云小逸 (YunXiaoYi003) - Gitee.com 🤟motto:要敢于一个人默默的面对自己,强大自己才是核心。不要等到什么都没有了,才下定决心去做。种一颗树,最好的时间是十年前,其次就是现在!学会自己和解,与过去和解,努力爱自己。==希望春天来之前,我们一起面朝大海,春暖花开!==🤟 👏专栏:C语言初阶👏
前言
—————————————————————————————— 首先先写上几句话:献给坚持创作的我和点开这篇文章希望进步的你
1、人初做事,如鸡伏卵,不舍而生气渐充。如燕营巢,不息而结构渐牢。如滋培之木,不见其长,有时而大。如有本之泉,不舍昼夜,盈科而后进,放乎四海。——曾国藩这是我最喜欢的一句名言,每次读,都会让浮躁的心更静一些,更稳一些。「不见其长,有时而大」八个字尤为值得琢磨。 2、先干起来,逢山开路,遇水搭桥,有什么问题解决什么问题。坐在那里幻想找到一个神奇的、一劳永逸的解决方案是毫无意义的,干起来,面对问题,解决问题,是我能够想到的最快的进步途径。
题目要求:
将参数字符串中的字符反向排列,不是逆序打印
解法1(无函数,非递归)
代码:
#include<stdio.h>
#include<string.h>
int main(void)
{
char arr[] = "abcdef";
int left = 0;
int right = strlen(arr) - 1;
while (left < right)
{
char temp = arr[left];
arr[left] = arr[right];
arr[right] = temp;
left++;
right--;
}
printf("%s\n", arr);
return 0;
}
结果:
解法二(函数,非递归)
代码:
结果:
解法三(函数,递归)
代码:
#include<stdio.h>
#include<string.h>
void resverse(char* str)
{
char temp = *str;
int len =strlen(str);
*str = *(str + len - 1);
*(str + len - 1) = '\0';
if (strlen(str + 1) >= 2)
{
resverse(str + 1);
}
*(str + len - 1) = temp;
}
int main(void)
{
char arr[] = "abcdef";
resverse(arr);
printf("%s\n", arr);
return 0;
}
结果:
最后
十分感谢你可以耐着性子把它读完和我可以坚持写到这里,送几句话,对你,也对我:
1.做更好的自己,而不是完美的别人。 2.谁都愿意做自己喜欢的事情,可是,做你该做的事情,才叫成长。 3.活成一个真正有形的人,而不是—摊肉、一团混乱不堪的情绪。 4.放弃很容易,但坚持—定很酷。 5.知识不是力量,知识用起来才是力量。 6.人生只有两个选择,要么忙着死,要么忙着活! 熬得住就出众,熬不住就出局,你的野心很大,所以没资格停下。 7.白天归顺生活,夜晚忠于自己
最后如果觉得我写的还不错,请不要忘记点赞?,收藏?,加关注?哦(。・ω・。)
愿我们一起加油,奔向更美好的未来,愿我们从懵懵懂懂的一枚菜鸟逐渐成为大佬。加油,为自己点赞! ?
?
|