✞༒幽殇༒✞ 2021-12-11 12:53 采纳率: 50%
浏览 91
已结题

C语言翻转字符串练习

题目描述
给定一个无重复字符的字符串 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

  • 写回答

1条回答 默认 最新

  • 我是麻瓜喔 2021-12-11 13:46
    关注

    供参考

    
    #include <stdio.h>
    #include <string.h>
    
    int main(void)
    {
        int T, i;
        char s[500];
        char s1, s2, s0;
        char *a, *b;
        printf("Please enter T: ");
        scanf("%d", &T);
        for (i = 0; i < T; i++)
        {
            scanf("%s\r%c %c", s, &s1, &s2);
            // ret = char *strchr(const char *str, int c)
            // 在参数 str 所指向的字符串中搜索第一次出现字符 c(一个无符号字符)的位置。
            // 返回值ret应为char指针
            // 如果输入abcde和b d
            a = strchr(s, s1); // 'bcde'
            b = strchr(s, s2); // 'de'
            // 交换b和d
            s0 = a[0];
            a[0] = b[0];
            b[0] = s0;
            puts(s);
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月22日
  • 已采纳回答 12月14日
  • 创建了问题 12月11日

悬赏问题

  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥20 为什么我写出来的绘图程序是这样的,有没有lao哥改一下
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥200 关于#c++#的问题,请各位专家解答!网站的邀请码
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号