1863 - 字符串右移

小C最近迷上了字符串,于是他有一个问题想考你,聪明的你一定知道答案。问题如下:给你一个字符串,让你对其进行向右移动K次,输出新的字符串。

题目输入

输入数据有多组,每组有一个字符串STR与一个数字K,表示对字符串STR向右移动K位。

题目输出

输出新的字符串STR1.

输入/输出样例

题目输入

abcd1234 4
sdfe123f 10

题目输出

1234abcd
3fsdfe12

C语言解答

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int  main(){
    int i,k,len;
    char s[1000];
    while(scanf("%s %d",s, &k) != EOF){
        len = strlen(s);
        i = len - k%len;
        printf("%s", &s[i]);
        s[i] = 0;
        printf("%s\n",s);
    }
    return 0;
}

C++解答

#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
	string s1,s2;
	int n;
	while(cin>>s1>>n){
		
		int sum=n%s1.length();
		for(int i=s1.length()-sum;i<s1.length();i++)
		{
			printf("%c",s1[i]);
		}
		for(int i=0;i<=s1.length()-sum-1;i++)
		{
					printf("%c",s1[i]);
		} 
		printf("\n");
	}
	
	
}
时间限制 3 秒
内存限制 128 MB
讨论 统计
上一题 下一题