C语言 逆序输出字符串
前言
- 逆序输出字符串最可能先想到的是遍历时用栈保存字符,最后出栈。既然栈可以实现,那我们也可以用递归的方法来实现,并且一定会比较简单。
- 除了以上两种,还可以对字符串进行原地逆置,最后再将该字符串输出即可。
一、简单递归实现
void fun(char *s)
{if(*s!='\0') // 递归终止条件{fun(s+1); // 注意这里是先递归再输出,这样就可以从后面开始逆序输出printf("%c",*s); }
}
int main(int argc, char *argv[]) {char s[20];gets(s); printf("原始字符串:%s\n",s);printf("逆序输出字符串");fun(s);return 0;
}
运行结果
二、 原地逆置实现
void revstr(char *s)
{if(s!=NULL){char *result = s; //保存字符串首地址,便于输出 int len = strlen(s); char *r = s+len-1; // 定位到最后一个字符 char temp;while(r>s) // 两个指针相向而行 {temp = *s;*s = *r;*r = temp;s++;r--;}printf("%s",result);}
}
int main(int argc, char *argv[]) {char s[20];gets(s); printf("原始字符串:%s\n",s);printf("逆序输出字符串");revstr(s);return 0;
}
C语言 逆序输出字符串相关推荐
- C语言逆序输出字符串
C语言逆序输出字符串 #include<stdio.h> #include<string.h> int main() {char str[100];gets(str);int ...
- C语言——逆序输出字符串的函数实现
若要实现字符串的逆序输出操作,可以有两种方法实现: 1.函数迭代法 2.函数递归法. 一.函数迭代法 代码如下: int ...
- c语言逆序输出字符串指针,菜鸟求助-如何用指针法将一串字符按单词的倒序输出?如:i love yo...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include void fun (char *ch1, char *ch2) { int i, n(0), k; int lengt ...
- C语言经典例27-利用递归逆序输出字符串
目录 1 题目 2 分析 3 实现 4 运行结果 1 题目 利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来. 2 分析 从递归程序设计三大要素角度来分析: 该递归程序的目的:逆序输出字符 ...
- Python逆序输出字符串
逆序输出字符串 方法一 思路 定义一个字符串,求出长度num 使用for循环从最后一个往前取值并输出 end=' ' 作用:避免换行 代码 str = "i am a student&quo ...
- ACMNO.21 C语言-逆序输出 输入10个数字,然后逆序输出。 输入 十个整数 输出 逆序输出,空格分开 样例输入 1 2 3 4 5 6 7 8 9 0
题目描述 输入10个数字,然后逆序输出. 输入 十个整数 输出 逆序输出,空格分开 样例输入 1 2 3 4 5 6 7 8 9 0 样例输出 0 9 8 7 6 5 4 3 2 1 提示 数组?堆栈 ...
- python逆序输出字符串_python实现对指定输入的字符串逆序输出的6种方法
编写一个Python程序,提示用户输入一个字符串,程按照你的要分享编写的逆序显示字符串的Python3程序如下 s = input("请输入一个字符串:")print(s[::-1 ...
- python逆序输出字符串_python实现对指定输入的字符串逆序输出的方法
这篇文章主要介绍了python实现对指定输入的字符串逆序输出的6种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 对于一个给定的字符串,逆序输出,这个任务对于python来说是一种很简单的操作 ...
- 使用递归方法进行逆序输出字符串
递归思想实现逆序输出: 反复调用函数直到找到最后一个字符,然后逐层输出该字符的前一个字符,输出上便形成了逆序效果~ #include <stdio.h>void Reverse(char* ...
最新文章
- boost::fusion::push_front用法的测试程序
- caffe随记(八)---使用caffe训练FCN的pascalcontext-fcn32s模型(pascal-context数据集)
- Master选举原理
- java socket 通信协议_java网络通信(基于TCP协议可靠通信的socket编程)
- Jquery的一些方法
- win7系统任务管理器被禁用怎么解决
- sprintf函数实现_从Go结构成员的升格到面向对象类的实现
- 线性同余法求伪随机数序列
- 研究生教育学科专业目录(2022年)与研究生教育学科专业目录管理办法
- 如何关闭Windows 1011自动更新
- 觅伊、Soul,这些社交软件是怎么火起来的?
- 【将列表中的每个数据转换成倒数 np.reciprocal()】
- numpy操作技巧二三事
- NOIP2014 Day1T1生活大爆炸版石头剪刀布 模拟
- 听歌识曲算法技术[语音识别]
- 牛客网数据库SQL实战44—— 将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005
- 五大常用算法——动态规划算法详解及经典例题
- 事件分发(二)ViewGroup和View对触摸事件的分发流程
- Java 套接字(Socket)
- nginx公网IP无法访问浏览器