字符串右移函数

  1. 编写一个函数,作用是把一个 char 组成的字符串循环右移 n 个。比如原来是“abcdefghi”
  2. 如果 n=2,移位后应该是“hiabcdefgh” 
  3. 分析:将字符串相加如:abcdefghi----》abcdefghiabcdefghi。这样可以解决右移次数较少的情况。
  4. 代码如下:
    char* rightloopmove(char *p,unsigned int steps,int n)
    {
    
    	for(int i=steps,j=0;j<n;i++,j++)
    	{
    		p[j]=p[i];
    	}
    	p[n]='\0';
    	return p;
    
    }
    int main()
    {
    	char str[]="acdrfhj";
    	int num=strlen(str);
    	memcpy(str+7,str,7);
    	str[14]='\0';
    	rightloopmove(str,2,num);
    	cout<<str;
    	system("pause");
    	return 0;	
    
    }
    对于次数较大的情况,我还会跟进,谢谢。

你可能感兴趣的:(c,算法)