1114 字符串逆序

字符串逆序

1、 题目内容

Description
给你一个字符串,请将其第K个字符开始的长度为L的子串进行逆序。

输入
有多组样例,第一行是一个整数,表示有多少个样例。每个样例占两行,第一行是个字符串,字符串全部由英文小写字符组成,长度不超过200。第二行是两个整数K和L,K从1开始计数,K+L-1不会超过字符串长度。

输出
每行输出一个字符串逆序以后的字符串结果。

Sample Input
2
abcabc
1 2
abcabc
2 5

Sample Output
bacabc
acbacb

2、 题目分析

这个题目要求我们对指定的序列进行逆序,我们采取分段的方式进行输出就好了,首先将第k个字符前得字符正常输出,然后将从第K个字符开始的长度为L的子串进行逆序输出,然后再正常顺序输出剩余的字符,就可以了。

3、 参考代码

#include<stdio.h>
#include<string.h>
int main()
{
	int t;	 //样例个数 
	scanf("%d",&t);
	while(t--)
	{
		int k,l,m,i;
		char str[202]; 
		scanf(" %s",str); //读入字符串 
		scanf("%d %d",&k,&l);
		m=strlen(str);
		for(i=0;i<k-1;i++) //先将第k个字符前得字符输出 
		{
			printf("%c",str[i]);
		}
		for(i=k+l-2;i>=k-1;i--) //将从第k个字符开始的l个字符逆序输出 
		{
			printf("%c",str[i]);
		}
		for(i=k+l-1;i<m;i++) //将k+l-1个字符后面的字符输出 
		{
			printf("%c",str[i]);
		}
		printf("\n");
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_42987451/article/details/83030316
今日推荐