Description | ||
给你一个字符串,请将其第K个字符开始的长度为L的子串进行逆序。 输入 有多组样例,第一行是一个整数,表示有多少个样例。每个样例占两行,第一行是个字符串,字符串全部由英文小写字符组成,长度不超过200。第二行是两个整数K和L,K从1开始计数,K+L-1不会超过字符串长度。 输出 每行输出一个字符串逆序以后的字符串结果。 | ||
Sample Input | ||
2 abcabc 1 2 abcabc 2 5 | ||
Sample Output | ||
bacabc acbacb |
#include<stdio.h>
#include<string.h>
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
int y,j,k,i,x;
char a[205];
scanf("%s",&a);//输入a
y=strlen(a);//获取a的长度并赋值给y
scanf("%d %d",&j,&k);
char t;
for(x=0;x<k;x++)//进行逆序,类似冒泡排序
{
for(i=j-1;i<j+k-x-2;i++)//从第j个数开始,后的k个数,每次循环后循环次数减1
{
t=a[i+1];
a[i+1]=a[i];
a[i]=t;
}
}
for(i=0;i<y;i++)//输出a
{
printf("%c",a[i]);
if(i==y-1)
{
printf("\n");
}
}
}
}