字符串逆序-c语言
给定一个含有n个元素的字符串,实现逆序。
这是个很基础的问题,实现方式也是很常见的c语言思路。虽然简单,但是仍然记录下来。
[期望]
比如char str[] = "abcdefg";
逆序后为:"gfedcba";
[思路]
分别从字符串的头和尾部向中间进发,依次交换头尾的值,直到在中间相遇。
代码:
#include <stdio.h>
#include <string.h> void print_str(char *str)
{
int i,len;
if (str == NULL) {
return;
}
len = strlen(str);
for(i=; i<len; i++) {
printf("%c",str[i]);
}
printf("\n");
} void str_reverse(char *str, int left, int right)
{
char tmp;
while(left < right) {
tmp = str[left];
str[left++] = str[right];
str[right--] = tmp;
}
} void str_reverse_test()
{
char str[] = "abcdefg";
str_reverse_1(str, , strlen(str)-);
print_str(str);
} void main()
{
str_reverse_test();
}
至于函数原型为什么不定义成void str_rev(char *str);或者void str_rev(char *str, int len);,
而是定义成void str_rev(char *str, int left, int right); 后面的文章会解释,也会用到它。
字符串逆序-c语言的更多相关文章
- C语言 · 字符串逆序
算法训练 字符串逆序 时间限制:1.0s 内存限制:512.0MB 输入一个字符串,长度在100以内,按相反次序输出其中的所有字符. 样例输入 tsinghua 样例输出 auhgn ...
- 基于visual Studio2013解决面试题之1003字符串逆序
题目
- C++关于数字逆序输出的两种思路,及字符串逆序输出
C++关于数字逆序输出的两种思路,及字符串逆序输出 作者:GREATCOFFEE 发布时间:NOVEMBER 15, 2012 分类:编程的艺术 最近在跟女神一起学C++(其实我是不怀好意),然后女神 ...
- PTA——字符串逆序
PTA 7-59 字符串逆序 #include<stdio.h> #include<string.h> #define N 81 int main() { int i; cha ...
- python中字符串逆序的实现
没有直接的逆序函数,有两种常用方式可将字符串逆序,一为切片,一为利用list的reverse,示例如下: #切片x=' y=x[::-1] #reverse函数 y=list(x) y.reverse ...
- Linux C/C++ 字符串逆序
/*字符串逆序*/ #include <stdio.h> #include <string.h> void nixu(char *str) { ; char tmp; for( ...
- Java实现 蓝桥杯VIP 算法训练 字符串逆序
问题描述 给定一个字符串,将这个串的所有字母逆序后输出. 输入格式 输入包含一个字符串,长度不超过100,字符串中不含空格. 输出格式 输出包含一个字符串,为上面字符串的逆序. 样例输入 tsinse ...
- day2 数组字符串逆序存放正序对接调试
这个问题仔细想了想,是s,t,s[],t[],重定义了,导致输入的是s,t这个定义变量,与传参传的是指针变量就不匹配了. 如果加上对s,t的地址,让传参的形式想匹配,还是报错,这块也没有弄懂,初步觉的 ...
- 请编写一个C函数,将一个字符串逆序
目前有两种思路,一个是申请一片辅助空间,然后将原字符串逆向拷贝到辅助空间,然后输出:另一种是原地逆序,不需要额外的辅助空间,方法就是字符串首尾交换. #include <stdio.h> ...
随机推荐
- html5--6-8 CSS选择器5
html5--6-8 CSS选择器5 实例 <!DOCTYPE html> <html lang="zh-cn"> <head> <met ...
- ubuntu docker的安装和使用
Docker CE for Ubuntu Docker CE for Ubuntu is the best way to install the Docker platform on Ubuntu L ...
- java回调机制及其实现
1. 什么是回调函数 回调函数,顾名思义,用于回调的函数.回调函数只是一个功能片段,由用户按照回调函数调用约定来实现的一个函数.回调函数是一个工作流的一部分,由工作流来决定函数的调用(回调)时机.回调 ...
- 「LuoguT36048」 Storm in Lover
Description 平成二十四年(2012年),5月11日,东京,某弓道场. "呐,呐,海未酱,你听说了吗?几天后的那场弓道大会?啊-!"橙发少女兴奋地拿着一张传单一样的纸跑向 ...
- 201响应为什么进了AJAX error回调函数
明明AJAX发送请求成功,但是后端返回的不是200,而是201,结果进了error的回调函数,想这种情况,只需要把“dataType:"json",改成dataType:" ...
- bzoj 5072 小A的树 —— 树形DP
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=5072 由于对于一个子树,固定有 j 个黑点,连通块大小是一个连续的范围: 所以记 f[i][ ...
- JAVA GUI THREAD---***
针对用户界面的多线程 GUI下面的多线程方式 1.与GUI类分离方式 分离方式,在创建线程类实例时需要代入GUI句柄,通过GUI句柄操作GUI,也就是说线程类和GUI类都要有对方的实例,以便相互操作. ...
- pdf解锁和脱水印
解锁工具下载http://pan.baidu.com/s/1o8FcKFC 使用方法: 第一步: 打开加密pdf文件保存即可 参考:http://www.epinv.com/post/157.html
- HDU 5101
hdoj5101 lower_bound函数: 题意: 从两个不同集合拿出两个数,加的和大于k的可行的方案数 思路: 答案=从所有数中选择的两个加和大于k的数的方案数-在同一个集合中选择的两个加和大于 ...
- poj2186【利用强连通分量】
题意: 有n头奶牛,然后有个规则是A->B,B->C,那么A->C: A觉得B受欢迎,B觉得C受欢迎,那么A觉得C受欢迎: 求:被其他所有牛都欢迎的牛的数量: 思路: 原来的思路: ...