用c++写一段代码,让用户输入两个字符串,长度不超过 M 和 N,然后将属于第一个字符串但不属于第二个字符串的字符输出
时间: 2024-09-30 07:14:29 浏览: 28
在C++中,你可以使用`cin`从用户那里获取输入,然后使用`std::set_difference`函数找出第一个字符串中不包含在第二个字符串中的字符。以下是一段示例代码:
```cpp
#include <iostream>
#include <string>
#include <set>
using namespace std;
void printDistinctChars(string str1, string str2, int M, int N) {
set<char> uniqueChars(str1.begin(), str1.end()); // 创建第一个字符串的字符集合
// 如果第二个字符串长度超过第一个,调整范围
if (N > M) {
uniqueChars.erase(uniqueChars.begin() + M, uniqueChars.end());
}
set<char> intersection(uniqueChars.begin(), uniqueChars.end()); // 创建交集
set_difference(uniqueChars.begin(), uniqueChars.end(), intersection.begin(), intersection.end(), inserter<string>(cout, cout)); // 输出差集
cout << "\n";
}
int main() {
int M, N;
string str1, str2;
cout << "请输入第一个字符串 (长度不超过 " << M << "): ";
cin >> str1;
cout << "请输入第二个字符串 (长度不超过 " << N << "): ";
cin >> str2;
printDistinctChars(str1, str2, M, N);
return 0;
}
```
这段代码首先创建了第一个字符串的字符集合,然后计算与第二个字符串的交集,最后用`std::set_difference`找出差异并打印。
阅读全文