给定一个无重复字符的字符串 s 和这个字符串中的两个字符 s [i],s [j], 输出翻转 s [i]~s [j] 后的字符串。

给定一个无重复字符的字符串 s 和这个字符串中的两个字符 s [i],s [j], 输出翻转 s [i]~s [j] 后的字符串。

输入描述
第一行一个整数 T,代表测试数据组数。 之后每组的第一行输入一个字符串 s,不包含空格,3<=lenth (s)<=500。 第二行输入两个字符 s[i],s[j] (0<=i<j<=lenth(s)-1)。

输出描述
一行,输出所得字符串。(每组输出之间需要换行,末尾不需要多余空格)

样例输入
2

abcde

b d

123ABCdef

2 d

样例输出
adcbe

1dCBA32ef

#include "stdio.h"
#include "string.h"
int main(){
  char str[500];
  char a,b,t;
  int i,j,n;
  int p1,p2;
  scanf("%d",&n);
  
  for(i=0;i<n;i++){
      scanf("%s",&str);
      getchar();
      scanf("%c %c",&a,&b);    
      j=0;
      while(str[j] !='\0'){
          if(a==str[j])
              p1 = j;
          if(b==str[j])
              p2 = j;
          j++;
      }
      t = str[p1];
      str[p1]=str[p2];
      str[p2]=t;
      puts(str);
  }
  
 
  return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632