码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-04-22 00:37:57      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:字符串   循环右移   c语言   反转   

// 请实现字符串循环右移函数。列如字符串“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;
}
技术分享



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

标签:字符串   循环右移   c语言   反转   

原文地址:http://blog.csdn.net/doudouwa1234/article/details/45181611

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!