【C语言】字符串右循环移位
来源:互联网 发布:魔方秀软件下载 编辑:程序博客网 时间:2024/05/04 08:03
比如:“abcdefghi”循环右移2位就是:“hiabcdefg”
给定函数原型:void RightLoopMove(char *pStr,unsigned short steps)
方法一:首先将最后面一个字符赋给临时变量,再将前面字符依次往后挪动一个位置,最后把临时变量赋给第一个字符。
#include <stdio.h>#include <string.h>void RightLoopMove(char *pStr, unsigned short steps){ char *l = pStr; char *r = pStr + strlen(pStr) - 1; while (steps) { char tmp = *r; char *p = r; while (p > l) { *p = *(p - 1); p--; } *l = tmp; steps--; }}int main(){ char a[] = "abcdefghi"; RightLoopMove(a,2); printf("%s\n", a); return 0;}
方法二:三次翻转字符串
#include <stdio.h>#include <string.h>void reverse(char *l, char *r){ while (l < r) { char tmp = *l; *l = *r; *r = tmp; l++; r--; }}void RightLoopMove(char *pStr, unsigned short steps){ int n = strlen(pStr); reverse(pStr, pStr+n-steps-1); reverse(pStr + n - steps,pStr+n-1); reverse(pStr,pStr+n-1);}int main(){ char a[] = "abcdefghi"; RightLoopMove(a,2); printf("%s\n", a); return 0;}
0 0
- 【C语言】字符串右循环移位
- 【C语言】字符串右循环移位
- 字符串右循环移位
- 字符串右循环移位
- 字符串右循环移位
- 字符串右循环移位
- 【C语言】实现字符串右移位函数
- 字符串右循环移位函数
- C语言 字符串循环右移
- c 语言循环移位
- 循环移位(c语言)
- c语言循环移位
- 实现字符串右循环移位函数。
- 实现字符串右循环移位函数
- 实现字符串右循环移位函数
- C语言中关于字符串左右循环移位的问题
- C语言循环移位操作
- 循环移位c语言实现
- lucas定理
- 【c#第六次作业】猜猜看游戏
- SpringMVC学习(四)
- 给QT 程序的EXE文件添加图标
- LeetCode——House Robber
- 【C语言】字符串右循环移位
- TCP头部解析
- 信号量、互斥体和自旋锁
- div+css截取字符串在规定长度,超出部分用。。。代替
- 在写标签的时候要养成好习惯
- 单向链表的C++实现
- 糊糊论道--毛主席为什么是最伟大的人和兼谈如何“用道”
- HTML输入标签,下拉列表标签,文本域标签
- 第六单元