输入一个字符串(包括大小写字母和空格),除去空格输出在字符串中出现过的字符。
输入格式:
输入一个字符串
输出格式:
输出在字符串中出现过的字符,每个字符打印一次,按字母顺序打印(注意:空格不算,大小写字符算不同字符)。打印时按字母的顺序,大写在前,小写在后。
输入样例:
在这里给出一组输入。例如:
输出样例:
在这里给出相应的输出。例如:
思路
遍历字符串A,针对A中的每个字符用string的find函数判断B中知否存在该字符,若不存在输出该字符。
代码
1 2 3 4 5 6 7 8 9 10 11 12 13
| #include<iostream> #include<cstring> #include<algorithm> using namespace std; int main(){ string A,B; getline(cin,A); getline(cin,B); for(int i=0;i<A.size();i++){ if(B.find(A[i])==B.npos) cout<<A[i]; } return 0; }
|
或者是标记第二个字符串得字符,再遍历第一个字符串
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| #include <iostream>
using namespace std;
int main() { string str1; getline(cin,str1); string str2; getline(cin,str2); bool book[200]{false}; for(int i=0;i<str2.size();i++){ book[(int)str2[i]]=true; } for(int i=0;i<str1.size();i++){ if(!book[str1[i]]){ printf("%c",str1[i]); } }
cout << endl; return 0; }
|