编写一c语言程序,输入两个字符串,若有相同字母,输出相同交集,没有,则输出没有交集,求大神编写程序

我的编写:#include<stdio.h>#include<string.h>intmian(){charstr1[8],str2[8];inti,j,f=0;gets... 我的编写:#include<stdio.h>
#include<string.h>
int mian()
{
char str1[8],str2[8];
int i,j,f=0;
gets(str1);
gets(str2);
for(i=0;i<8;i++)
for(j=0;j<8;j++)
if(str1[i]==str2[j])
{
f=1;
printf("%c",str1[i]);
}
if(f==0)
printf("\nthere is no 交集\n");
return 0;
}
补充:我这种编程后有点简单,而且如果没有交集的,输出不了 求大神编写更好的活着修正。
展开
 我来答
不愿相离
推荐于2017-12-16 · TA获得超过440个赞
知道小有建树答主
回答量:529
采纳率:0%
帮助的人:485万
展开全部
#include<stdio.h>
#include<string.h>
int main()

char str1[8],str2[8];
int i,j,f=0;
gets(str1);
gets(str2);
for(i=0;i<strlen(str1);i++)
for(j=0;j<strlen(str2);j++)
if(str1[i]==str2[j])
{
f=1;
printf("%c",str1[i]);
}
if(f==0)
printf("\nthere is no 交集\n");
return 0;
}  

在你代码上改了几个地方,看不懂再问吧,我就不解释啦
追问

如果相同的话,输出不是很好,有些相同的没有输出来,看就看懂,但是不合格0.0

有些相同并没有输出- -

追答
#include<stdio.h>
#include<string.h>
#define N 30
int main()

    char str1[N],str2[N],str3[N];
    int i,j,k,t=0,f=0;
    gets(str1);
    gets(str2);
    for(i=0;str1[i]!='\0';i++)
    {
for(j=0;str2[j]!='\0';j++)
            if(str1[i]==str2[j])
            {
                f=1;
for(k=0;k<=t;k++)
{
if(str3[k]==str1[i])
break;
}
if(k>t)
{
str3[t]=str1[i];
t++;
break;
}
            }
}
    if(f==0)
        printf("\nthere is no 交集\n");
else
{
for(i=0;i<t;i++)
printf("%c ",str3[i]);
printf("\n");
}
    return 0;
}
oowood
2014-11-27 · TA获得超过1781个赞
知道大有可为答主
回答量:2196
采纳率:81%
帮助的人:1217万
展开全部
先占个位置
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式