用c语言编写一个程序,输入两个字符串 str1和str2,求两者的交集若该交集非空,则将其输出,若无交集则不输出。交集指的是同时出现在两个字符串中的字符,输出顺序按昭str1中的出现的先后顺序排列。 str1和str2的长度都不超过20读入str1和str2可使用scanf("g”,str1);读入,也即str1 和str2内部没有空白字符《空格,制表符,换行符) 测试说明平台会对你编写的代码进行测试:测试输入: abcdefghijk12314bc78h92 预期输出: bchi
时间: 2024-02-23 17:01:20 浏览: 132
两个数相加c语言
以下是用 C 语言编写的程序实现输入两个字符串 str1 和 str2,求两者的交集,若该交集非空,则将其输出,若无交集则不输出。
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[21], str2[21], result[21] = {0};
int len1, len2, i, j, k = 0;
scanf("%s %s", str1, str2);
len1 = strlen(str1);
len2 = strlen(str2);
for (i = 0; i < len1; i++) {
for (j = 0; j < len2; j++) {
if (str1[i] == str2[j] && strchr(result, str1[i]) == NULL) {
result[k++] = str1[i];
}
}
}
if (k > 0) {
printf("%s\n", result);
}
return 0;
}
```
程序的核心是通过两个嵌套的循环遍历两个字符串中的所有字符,判断是否同时出现在两个字符串中,并将其加入到结果字符串中(注意在加入前要判断该字符是否已经存在于结果字符串中)。最后,如果结果字符串非空,则将其输出。
阅读全文