您的位置:首页 > 其它

char组成的字符串循环右移n个

2017-10-13 18:02 176 查看
 编写一个函数,作用是把一个char组成的字符串循环右移n个。比如原来是“abcdefghi”如果n=2,移位后应该是“hiabcdefg”
函数头是这样的: 

//pStr是指向以'\0'结尾的字符串的指针

//steps是要求移动的n

char *strcpy(char* dest, const char *src);把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间

#include <iostream>
using namespace std;
void move(char* pStr,int steps){
if (pStr == NULL)return;
int n = strlen(pStr) - steps;
char* tmp = new char[strlen(pStr)];
strcpy(tmp,pStr+n);
strcpy(tmp + steps, pStr );
tmp[strlen(pStr)] = '\0';//
strcpy(pStr, tmp);
}
int main(){
char a[20];
int steps;
cin >> a;
cin >> steps;
move(a, steps);
cout << a;
system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐