标题:C语言 求两个数组的差集
只看楼主
邹峰研
Rank: 2
等 级:论坛游民
帖 子:46
专家分:18
注 册:2020-3-4
结帖率:88.89%
已结贴  问题点数:10 回复次数:9 
C语言 求两个数组的差集

要求计算A-B。A和B都是字符串 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A-B。
输入在2行中,先后给出字符串A和B。两字符串的长度都不超过104,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。
在一行中打印出A-B的结果字符串,如果 A-B为空串,则打印一空行。

例如:

输入:
 I love GPLT!  It's a fun game!
 aeiou

输出:
 I lv GPLT!  It's  fn gm!

------------以下是我写的代码,运行不出来,刚学这个,理念不太清楚,可能是函数用的不对,请老爷们帮忙指点一下,谢谢啦!-------------

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    char A[10000];
    char B[10000];
    char C[10000];
    char *p;
    int i,j,count=0;
   
    p = C;
    gets(A);
    gets(B);
    for(i=0;i<strlen(A)-1;i++)
    {
        for(j=0;j<strlen(B)-1;j++)
        {
            if(A[i]==B[j])
                count++;
        }
        if(count);
        else
            strcpy(p++,A[i]);
        count = 0;
    }
    for(i=0;i<strlen(C)-1;i++)
        printf("%s",C[i]);
    return 0;
}
搜索更多相关主题的帖子: C语言 char 字符串 include count 
2020-04-07 13:28
纯蓝之刃
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:76
帖 子:554
专家分:3690
注 册:2019-7-29
得分:6 
程序代码:
#include <stdio.h>
#include <string.h>

int main()
{
    char A[150],B[150],C[150];
    int i,count=0;

    gets(A);
    gets(B);
    for(i=0;i<strlen(A)-1;i++)
    {
        if(!strchr(B,A[i]))
            C[count++]=A[i];
    }
    printf("C=%s",C);

    return 0;
}

一沙一世界,一花一天堂。无限掌中置,刹那成永恒。
2020-04-07 13:50
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
得分:2 
打表
程序代码:
#include <stdio.h>
int main()
{
    char str[0x100];
    char check[0x100] = "";
    
    fgets(str, sizeof str, stdin);
    for(int ch = 0; ch != '\n'; )
        check[ch = getchar()] = 1;
        
    int index = 0;
    for(int i = 0; str[i] && str[i] != '\n'; ++i)
    {
        if(check[str[i]] == 0)
            str[index++] = str[i];
    }
    str[index] = 0;
    puts(str);
    return 0;
}

https://zh.
2020-04-07 14:16
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:2 
程序代码:
#include<iostream>
#include<string>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
   string a,b;
   getline(cin,a);
   getline(cin,b);
   for(int i=0;i<a.length();i++)
   {
       int flag=0; 
       for(int j=0;j<b.length();j++)
       {
          if(a[i]==b[j])flag=1;
    }
    if(flag==0)printf("%c",a[i]);
   }

 
   return 0; 
} 
2020-04-07 15:31
opq2020
Rank: 1
等 级:新手上路
帖 子:15
专家分:3
注 册:2020-4-3
得分:0 

2020-04-07 19:57
return_0
Rank: 8Rank: 8
来 自:五维空间
等 级:禁止访问
威 望:3
帖 子:512
专家分:838
注 册:2020-1-28
得分:0 

2020-04-07 20:15
邹峰研
Rank: 2
等 级:论坛游民
帖 子:46
专家分:18
注 册:2020-3-4
得分:0 
回复 2楼 纯蓝之刃
谢谢啦

今天再晚也是早,明天再早也是晚
2020-04-07 21:30
邹峰研
Rank: 2
等 级:论坛游民
帖 子:46
专家分:18
注 册:2020-3-4
得分:0 
回复 3楼 lin5161678
谢谢

今天再晚也是早,明天再早也是晚
2020-04-07 21:30
邹峰研
Rank: 2
等 级:论坛游民
帖 子:46
专家分:18
注 册:2020-3-4
得分:0 
回复 4楼 自学的数学
谢谢啦

今天再晚也是早,明天再早也是晚
2020-04-07 21:30
邹峰研
Rank: 2
等 级:论坛游民
帖 子:46
专家分:18
注 册:2020-3-4
得分:0 
回复 楼主 邹峰研
是我strcpy那里用的不太对,改为直接赋值就可以运行了。

今天再晚也是早,明天再早也是晚
2020-04-07 21:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-500909-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.075876 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved