千家信息网

如何用c语言求两个字符串的交集

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这期内容当中小编将会给大家带来有关如何用c语言求两个字符串的交集,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。求两个字符串的交集,看似简单,实则需要考虑的细节很多。
千家信息网最后更新 2026年11月01日如何用c语言求两个字符串的交集

这期内容当中小编将会给大家带来有关如何用c语言求两个字符串的交集,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

求两个字符串的交集,看似简单,实则需要考虑的细节很多。

我的思路:

1.将两个字符串简化,将里面重复的字母减少为一个。

2.拼接两个字符串,借助循环把重复出现两次的字符找出来。

有了思路开始写代码。

一、main()函数

思路:

1.定义两个储存字符串的数组tt[M],pp[M]

2.定义指针*p接收fun2() 返回值,输出交集

3.输入两个字符串(此处注意越界问题)

4.调用函数

5.输出交集

#include #include              //用到strcat(),strlen()函数 #define M 50 void fun1(char tt[]);           //将字符串中相同的字母去掉char *fun2(char tt[]);          //将重复的(子集)找出来  int main(){    char tt[M],pp[M];           //定义两个数组,储存字符串    char *p;                    //接受fun2()返回的地址,并输出交集字符串    int i;     gets(tt);                   //abcdef123abc12    gets(pp);                   //acef123ace124    fun1(tt);                   //调用函数    fun1(pp);                               //printf("%s\n",tt);        //供检验使用    //printf("%s\n",pp);        strcat(tt,pp);    //printf("%s\n",tt);    p=fun2(tt);                 //调用函数    for(i=0;*(p+i)!='\0';i++)    {        printf("%c",*(p+i));    //acef123    }     return 0;}

二、fun1()函数

fun1()作用是将字符串中重复的字符只保留一个

思路:

1.先将重复出现的字符出去第一次出现那个都换成' '(此处为一个空格)

2.在将字符串数组元素移动,去除' '(空格)

void fun1(char tt[])            //将重复的字符抹掉{    int i,j;    char ch;     for(i=0;i

三、fun2()函数

fun2()将重复出现的字符挑出来

思路:

1.找到相同字符,并储存在static aa[M]中(小重点)

2.返回第一个字符的地址

char *fun2(char tt[])           //确定子集字符串,返回字符串第一个字符的地址{    int i,j,k;    char ch;    static char aa[M];          //静态变量,保证调用函数结束后数组还在    char *p;     k=0;     for(i=0;i

注意;

这个代码任然后缺陷,因为用这个代码求得两个字符串的交集永远不会出现空格。

其他思路推荐:

先在第一个字符串中确定一个字符,在第二个字符串中查找是否存在相同字符串

这条思路特要注意字符串中字符重复出现带来的影响

上述就是小编为大家分享的如何用c语言求两个字符串的交集了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

字符 字符串 两个 函数 交集 思路 相同 地址 数组 空格 代码 第一次 输出 语言 内容 子集 字母 分析 循环 一来 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 耶加雪菲 山东特亿宝互联网科技有限公司 互联网核心科技是什么 互联网巨头反垄断金融科技 期待互联网科技 贷财互联网科技 致聘互联网科技 多迪互联网科技有限公司 哈尔滨秒房互联网科技有限公司 山东吉时兔互联网科技有限公司 互联网科技教育视频 互联网科技公司实习生 千方科技属于互联网企业吗 广州新华互联网科技学校电竞方面 互联网科技实习生岗位 福州德业互联网科技 吉林省码上互联网科技电话 杭州融税互联网科技有限公司 青岛互联网科技园 互联网企业和网络科技有限公司 互联网最新的科技有限公司 互联网络科技有限公司 菲比寻常互联网科技 安控科技rtu产品工业互联网 中国的互联网科技企业的崛起 米聚互联网科技南京有限公司排面 互联网金融科技展 深圳艾果互联网通讯科技 互联网企业科技类企业如何做账 长沙渺峰互联网科技有限公司
0