参考示例代码如下,望采纳
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LEN 1000000 // 定义字符串长度的最大值
int main()
{
char a[MAX_LEN + 1], b[MAX_LEN + 1]; // 定义两个字符串数组
int visited[127] = {0}; // 定义一个标记数组,用来标记 A 中的字符是否出现过
// 读入 A 和 B 两个字符串
fgets(a, MAX_LEN + 1, stdin);
fgets(b, MAX_LEN + 1, stdin);
// 遍历 A 中的每一个字符
for (int i = 0; a[i] != '\0'; i++) {
// 如果这个字符在 A 中出现过,则跳过
if (visited[a[i]]) continue;
// 否则,将这个字符标记为已出现
visited[a[i]] = 1;
// 并将这个字符输出
printf("%c", a[i]);
}
// 遍历 B 中的每一个字符
for (int i = 0; b[i] != '\0'; i++) {
// 如果这个字符在 A 中出现过,则跳过
if (visited[b[i]]) continue;
// 否则,将这个字符标记为已出现
visited[b[i]] = 1;
// 并将这个字符输出
printf("%c", b[i]);
}
return 0;
}
请把代码放到 ‘代码块’ 里面。
A 和 B 的和,你怎么计算的?
不超过10的6次方,那么你这str1和str2要申请100000字节。str要申请200000字节长度。password直接256长度好了