C语言程序题:请输入两个字符串str1和str2...求助各位大佬,感激不尽!!
请输入两个字符串str1和str2,将str1中出现在str2中的字符找出并输出,相同的只输出一次,例:输入串1:12abcd输入串2:2342bAC输出信息:12abc...
请输入两个字符串str1和str2,将str1中出现在str2中的字符找出并输出,相同的只输出一次,例:输入串1:12abcd
输入串2:2342bAC
输出信息:12abcd中出现在2342bAC中的字符有2b 展开
输入串2:2342bAC
输出信息:12abcd中出现在2342bAC中的字符有2b 展开
2个回答
展开全部
#include <stdio.h>
#include <string.h>
int find(char *str1, char *str2)
{
char s[64] = {0};
char s_new[64] = {0};
int i = 0, j = 0, m = 0, n = 0;
int len1 = strlen(str1);
int len2 = strlen(str2);
/* 提取所有str1和str2的相同元素 */
for (i = 0; i < len1; i++)
{
for (j = 0; j < len2; j++)
{
if (str1[i] == str2[j])
{
s[m++] = str1[i];
}
}
}
/* 剔除相同元素中的重复元素并存入新数组中 */
for (i = 0; i < m; i++)
{
for (j = i+1; j < m; j++)
{
if (s[i] == s[j])
{
break;
}
}
if (j == m)
{
s_new[n++] = s[i];
}
}
printf("输出信息:%s中出现在%s中的字符有%s\n", str1, str2, s_new);
}
int main(int argc, char *argv[])
{
char str1[64] = {0};
char str2[64] = {0};
printf("输入串1:");
scanf("%s", str1);
printf("输入串2:");
scanf("%s", str2);
find(str1, str2);
return 0;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询