题目描述
定义一个字符数组,大小为20,从键盘输入一个字符串(长度小于20,不含空格)存入数组,输入一个整数n,将字符串循环右移n位(n可能大于字符串长度),如"diopHeg"右移2位为"egdiopH"。
输入
第一行,一个字符串(长度小于20,不含空格)
第二行,整数,表示右移的偏移量
输出
一行,移位后的字符串
样例输入
diopHeg
2
样例输出
egdiopH
#include<iostream>
using namespace std;
int main()
{
char a[20] = {};
cin >> a;
int length = 0;
while (a[length] != 0)
{
length++;
}
int n;
cin >> n;
int m;
m = n % length;
char b[40] = {};
for (int i = 0; i < m; i++)
{
b[i] = a[length - m + i];
}
for (int i = m; i < length; i++)
{
b[i] = a[i - m];
}
for (int i = 0; i < length ; i++)
{
cout << b[i];
}
}