没啥难度,上代码。
#include<bits/stdc++.h>
using namespace std;
unordered_map<char, int> mp, vis, print;
int main() {
string s1, s2;
getline(cin, s1);
getline(cin, s2);
for (int i = 0; i < s1.size(); i++) {
if (isalpha(s1[i])) mp[toupper(s1[i])] = 1;
else mp[s1[i]] = 1;
}
for (int i = 0; i < s2.size(); i++) {
if (isalpha(s2[i])) vis[toupper(s2[i])] = 1;
else vis[s2[i]] = 1;
}
for (int i = 0; i < s1.size(); i++) {
if (isalpha(s1[i])) {
if (vis[toupper(s1[i])] != 1 && print[toupper(s1[i])] != 1) {
printf ("%c", toupper(s1[i]));
print[toupper(s1[i])] = 1;
}
}
else {
if (vis[s1[i]] != 1 && print[s1[i]] != 1) {
printf ("%c", s1[i]);
print[s1[i]] = 1;
}
}
}
}
本文介绍了一段使用C++编写的代码,该代码读取两个输入字符串s1和s2,找出它们之间的不同字符并只输出不重复的字母。通过unordered_map数据结构,程序实现了对字母的计数和过滤,适用于快速查找和处理字符串差异问题。
119

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



