#4328. 运算符重载——集合练习

运算符重载——集合练习

📄【题目描述】

在数学中,集合之间常见的三种基本运算包括:

  • 并集(+):两个集合的所有元素去重合并。
  • 差集(-):保留集合 A 中不属于集合 B 的元素。
  • 交集(*):保留集合 A 和 B 都包含的元素。

现在老师需要你设计一个程序来模拟这些运算。

所有集合的元素均为小写英文字母,集合输入与输出用字符串表示,如:

  • 集合 A = {a, c, d, f} 表示为字符串 "acdf"
  • 集合 B = {b, c, e, f} 表示为字符串 "bcef"

集合中的字符按出现顺序表示集合的加入顺序,且输入中不会重复字符。

你需要读取 N 行集合表达式,计算每行表达式的结果并输出。


【输入格式】

  • 第 1 行:一个整数 N1 ≤ N ≤ 100),表示表达式的个数。
  • 接下来 N 行:每行一个集合运算表达式,形式为:
字符串1 运算符 字符串2
  • 运算符为:+-*(分别表示并、差、交)

【输出格式】

输出共 N 行,每行对应输入表达式的运算结果。


【样例输入】

2
abef + cdefijk
abghio * gipqx

【样例输出】

abcdefijk
gi

【提示说明】

  • 结果中的字符应按输入中的先后顺序输出。
  • 不会有非法字符。
  • 不保证输入字符串是按字母顺序排列。