首页 > 编程语言 > 详细

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

时间:2015-04-22 00:36:56      阅读:311      评论:0      收藏:0      [点我收藏+]
// 请实现字符串循环右移函数。列如字符串“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”

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!