ghjhkniob 2020-05-11 17:38 采纳率: 93.3%
浏览 1571
已采纳

将未在字符串s中出现而在字符串t中出现的字符形成一个新的字符串放在u中,u中字符按原字符串中字符顺序排列,不去掉重复字符?

60.
编程题
将未在字符串s中出现而在字符串t中出现的字符形成一个新的字符串放在u中,u中字符按原字符串中字符顺序排列,不去掉重复字符。
测试数据:
s:ABCDE, t:BDFGG
运行结果:FGG
请认真测试程序的正确性。将源代码以文本方式提交,不要直接提交文件。
【算法提示】
设计函数void fun(char *s, char *t, char *u)实现要求的功能,函数以字符指针作为参数,通过指针移动进行字符比较:
设置两个字符指针p和q,p指针指向t串,q指针指向s串;通过移动指针p和q,将t串中的一个字母与s中的每个字母进行比较,若有相同的,则中断,再看t中的下一个,直到最后都没有相同的,放入u中。

  • 写回答

2条回答 默认 最新

  • threenewbee 2020-05-12 11:01
    关注

    问题解决的话,请点下采纳

    #include <stdio.h>
    
    void fun(char *s, char *t, char *u)
    {
        int k = 0;
        for (int i = 0; t[i]; i++)
        {
            int flag = 0;
            for (int j = 0; s[j]; j++)
            {
                if (t[i] == s[j])
                {
                    flag = 1;
                    break;
                }
            }
            if (!flag) u[k++] = t[i];
        }
        u[k] = 0;
    }
    
    int main()
    {
        char *s = "ABCDE";
        char *t = "BDFGG";
        char u[100];
        fun(s,t,u);
        printf("%s\n", u);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 关于#vscode#的问题:ESP32开发板对接MQTT实现小灯泡的开关
  • ¥15 TMC2209串口模式下读取不到寄存器的值串口助手蓝色字体是发过去的消息,绿色字体是收到的消息,第二行发送读取寄存器的指令但是没有读取到寄存器的值串口助手如下图:接线如下图,如何解决?
  • ¥15 高通安卓11提取完整线刷包软件,或者优博讯dt50顺丰刷机包
  • ¥20 C,有个译码器,换了信道就跑不出原来数据
  • ¥15 MIMIC数据库安装问题
  • ¥60 基于JTag协议开发Fpga下载器上位机,哪位大🐂有偿指导?
  • ¥20 全书网Java爬取数据
  • ¥15 怎么获取红包封面的原始链接,并且获取红包封面序列号
  • ¥100 微信小程序跑脚本授权的问题
  • ¥100 房产抖音小程序苹果搜不到安卓可以付费悬赏