用c++,编写一个函数,函数的功能是移动字符串中的内容。移动的规则如下:把第1到第m个字符,平移到字符串的最后;再把第m+1到最后的字符移动到字符串的前部。例如,字符串中原有的内容为:ABCDEFGHIJK,m的值为3,则移动后,字符串中的内容应该是DEFGHIJKABC。在主函数中输入一个长度不大于20的字符串和平移的值m,调用函数完成字符串的平移。
时间: 2023-06-15 08:06:28 浏览: 241
C/C++面试之算法系列--几个典型的内存拷贝及字符串函数实现
5星 · 资源好评率100%
以下是一个实现该功能的函数:
```c++
#include <iostream>
#include <string>
using namespace std;
void moveString(string& str, int m) {
if (m >= str.length()) {
return;
}
string firstPart = str.substr(0, m); // 截取前m个字符
string secondPart = str.substr(m); // 截取剩下的字符
str = secondPart + firstPart; // 拼接字符串
}
int main() {
string str;
int m;
cout << "请输入一个长度不大于20的字符串:";
cin >> str;
cout << "请输入平移的值m:";
cin >> m;
moveString(str, m);
cout << "移动后的字符串为:" << str << endl;
return 0;
}
```
函数的实现很简单,首先判断m是否大于等于字符串的长度,如果是,则不需要进行移动;否则,分别截取前m个字符和剩下的字符,并将它们拼接起来,赋值给原字符串即可。在主函数中,先输入字符串和m的值,然后调用moveString函数进行移动,并输出结果。
阅读全文