您的位置:首页 > 编程语言 > C语言/C++

【C语言】请实现字符串循环右移函数。列如字符串“abcdefghi”向右移2位就是“hiabcdefg”

2015-04-21 23:53 447 查看
// 请实现字符串循环右移函数。列如字符串“abcdefghi”向右移2位就是“hiabcdefg”
// 函数原型为:void RightLoopMove(char *pstr,unsigned short steps)
#include <stdio.h>
#include <assert.h>
#include <string.h>
void severse(char *p,char *q)       //字符串翻转
{
char temp;
assert(p);
assert(q);
while(p<q)
{
temp=*p;
*p=*q;
*q=temp;
p++;
q--;
}
}
void RightLoopMove(char *pstr,unsigned short steps)
{
int len=strlen(pstr);
severse(pstr,pstr+len-steps-1);       //前部分翻转
severse(pstr+len-steps,pstr+len-1);   //后部分翻转
severse(pstr,pstr+len-1);             //整体翻转
}
int main()
{
char arr[]="abcdefghi";
RightLoopMove(arr,2);
printf("%s\n",arr);
return 0;
}




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐