输入描述:
第一行输入一个字符串
第二行输入一个数字n
输出描述:
输出该字符串右移后的结果
示例1
输入例子:
abcdef 13
输出例子:
fabcde
方法一:定义循环右移一次函数,然后调用n次
#include <iostream>
using namespace std;
string right(string a);
string right(string a) {
char temp = a[a.size()-1];
for (int i = a.size()-1; i > 0; i--) {
a[i] = a[i-1];
}
a[0] = temp;
return a;
}
int main() {
int b;
string a;
cin >> a >> b; // 注意 while 处理多个 case
for (int i = 0; i < b; i++) {
a = right(a);
}
cout << a << endl;
}
方法二:先找到循环右移的点,然后重新拼接字符串
#include <iostream>
using namespace std;
int main(){
string a;
int b;
cin>>a>>b;
int n=a.size();
b%=n;
string str1=a.substr(0,n-b);
string str2=a.substr(n-b,n-1);
cout<<str2+str1<<endl;
return 0;
}