给定两个字符串 A 和 B,本题要求你输出 A+B,即两个字符串的并集。要求先输出 A,再输出 B,但重复的字符必须被剔除。
输入格式:
输入在两行中分别给出 A 和 B,均为长度不超过 106的、由可见 ASCII 字符 (即码值为32~126)和空格组成的、由回车标识结束的非空字符串。
输出格式:
在一行中输出题面要求的 A 和 B 的和。
AC代码 如下
#include<stdio.h>
int main()
{
int flag = 0, count = 0;
char book[95] = { '0' };
char ch = getchar();
while (ch != '\n') {
flag = 0;
for (int j = 0; j <= count; j++) {
if (ch == book[j]) {
flag = 1;
}
}
if (flag != 1) {
book[count] = ch;
count++;
}
ch = getchar();
}
ch = getchar();
while (ch != '\n') {
flag = 0;
for (int j = 0; j <= count; j++) {
if (ch == book[j]) {
flag = 1;
}
}
if (flag != 1) {
book[count] = ch;
count++;
}
ch = getchar();
}
for (int i = 0; i < count; i++) {
printf("%c", book[i]);
}
printf("\n");
return 0;
}
注意:如果用c++的string的话,如果有空格cin输入会出错。
该博客介绍了一种使用C语言处理字符串的方法,具体是计算两个字符串的并集,同时确保结果中没有重复的字符。代码通过遍历输入的两个字符串,将不重复的字符存入数组中,并按照输入顺序输出。注意,C++的string在处理含有空格的输入时可能出现问题。
629

被折叠的 条评论
为什么被折叠?



