用c++写代码实现 用户输入两个字符串,长度不超过M和N,试将属于第一个字符串但不属于 第二个字符串的字符输出
时间: 2024-09-29 12:09:49 浏览: 32
在C++中,你可以使用`std::string`容器以及`std::set`数据结构来实现这个功能。首先,你需要创建两个`std::set`,分别存储两个输入字符串的唯一字符。然后遍历第一个字符串,如果某个字符不在第二个集合中,就将其添加到结果中。
以下是简单的代码示例:
```cpp
#include <iostream>
#include <string>
#include <set>
int main() {
int M, N;
std::cout << "请输入第一个字符串的最大长度(M): ";
std::cin >> M;
std::string str1;
std::cout << "请输入第一个字符串: ";
std::getline(std::cin, str1); // 使用getline获取整个行,包括空格
std::cout << "请输入第二个字符串的最大长度(N): ";
std::cin >> N;
std::string str2;
std::cout << "请输入第二个字符串: ";
std::getline(std::cin, str2);
std::set<char> unique_chars1(str1.begin(), str1.end());
std::set<char> unique_chars2(str2.begin(), str2.end());
for (char c : unique_chars1) {
if (!unique_chars2.count(c)) {
std::cout << c; // 输出不属于第二个字符串的字符
}
}
return 0;
}
```
阅读全文