如何用c语言求两个字符串的交集
发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,这期内容当中小编将会给大家带来有关如何用c语言求两个字符串的交集,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。求两个字符串的交集,看似简单,实则需要考虑的细节很多。
千家信息网最后更新 2025年01月17日如何用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安全错误
数据库的锁怎样保障安全
网络安全主要研究的内容分成
无线网络技术导论第三版课后
公安局举办网络安全培训班
布谷鸟服务器端下载
数据库管理教材视频
两种主流的软件开发方法是什么
广东农商行招聘软件开发工程师
科技互联网论坛哪个好
实现smtp服务器
代理服务器下载
东西湖靠谱的软件开发方案
数据库代码编写软件
成都网络安全学院
吉林市翼搏网络技术
棋牌框架数据库
博科网络安全黑板报
常用的软件开发框架有
嘉兴云软件开发
网络安全全景图 2020
如何调手机软件开发语言
那种服务器适合做域名解析
服务器带外管理网络结构图
网络安全保护对象是什么
塔式服务器维修公司哪家好
数据库 not in
用加速器lol连接不上服务器
网络安全教育绘画
卫星网络安全公司
数据库团队名字
达梦数据库不存在则创建索引