字符串右移
时间限制:
1000
ms | 内存限制:
65535
KB
难度:
1
-
描述
-
LZQ最近迷上了字符串,于是他有一个问题想考你,聪明的你一定知道答案。问题如下:给你一个字符串,让你对其进行向右移动K次,输出新的字符串。
-
输入
- 输入数据有多组,每组有一个字符串STR与一个数字K,表示对字符串STR向右移动K位。 输出
- 输出新的字符串STR1. 样例输入
-
abcd1234 4 sdfe123f 10
样例输出
-
1234abcd 3fsdfe12
思路:略。
#include <stdio.h>
#include <string.h>
void reverse(char s[])
{
char *last,temp;
for (last = s;*last != '\0'; last++)
;
last--;
while (s<last)
{
temp = *s;
*s = *last;
*last = temp;
s++;
last--;
}
}
int main()
{
int k;
char str[1000];
while (scanf("%s %d",str,&k) != EOF)
{
int len = strlen(str);
k %= len;
reverse(str+len - k);
reverse(str);
reverse(str+k);
printf("%s\n",str);
}
return 0;
}