7-31 字符串循环左移 (20 分)
输入一个字符串和一个非负整数_N_,要求将字符串循环左移_N_次。
输入格式:
输入在第1行中给出一个不超过100个字符长度的、以回车结束的非空字符串;第2行给出非负整数_N_。
输出格式:
在一行中输出循环左移_N_次后的字符串。
输入样例:
Hello World!
2
输出样例:
llo World!He
#include #include using namespace std;
int main()
{
string s, t;
int N, R;
getline(cin, s);
cin >> N;
if (N > 0 && N < s.length())
{
t.append(s, 0, N);/*对临时字符串t追加s中的从下标0开始的N个字符*/
s.erase(0, N);/*删除s中的从下标0开始的N个字符*/
s.append(t);/*对s追加临时字符串t*/
}
else if (N > s.length())
{
R = N % s.length();/*取余*/
t.append(s, 0, R);
s.erase(0, R);
s.append(t);
}
cout << s;
return 0;
}