由于string不能输入空格,和cin不能输入空格;用了set和vector和cin.get()的题;本题都正确
1.cin是C++中最常用的输入语句,当遇到空格或者回车键即停止。无法解决。
2.cin.get()函数可以接收空格,遇回车结束输入。
3.string也不能输入空格
给定两个字符串 A 和 B,本题要求你输出 A+B,即两个字符串的并集。要求先输出 A,再输出 B,但重复的字符必须被剔除。
输入格式:
输入在两行中分别给出 A 和 B,均为长度不超过 106的、由可见 ASCII 字符 (即码值为32~126)和空格组成的、由回车标识结束的非空字符串。
输出格式:
在一行中输出题面要求的 A 和 B 的和。
输入样例:
This is a sample test
to show you_How it works
输出样例:
This ampletowyu_Hrk
#include<vector>
#include<set>
#include<iostream>
using namespace std;
int main()
{
set<char>s1;
vector<char>v1;
char x,y;
cin.get(x);
while (x!='\n')
{
int a=s1.size();
s1.insert(x);
if (s1.size() - a == 1)
{
v1.push_back(x);
}
cin.get(x);
}
cin.get(y);
while (y != '\n')
{
int b = s1.size();
s1.insert(y);
if (s1.size() - b == 1)
{
v1.push_back(y);
}
cin.get(y);
}
for (vector<char>::iterator it = v1.begin(); it != v1.end(); it++)
{
cout << *it;
}
return 0;
}
本文来自博客园,作者:赵千万,转载请注明原文链接:https://www.cnblogs.com/zhaoqianwan/p/17402940.html
千万千万赵千万