一、题目

二、代码
#include <iostream>
#include <algorithm>
using namespace std;
struct m {
char a;
int num;
};
int main() {
string s1, s2;
cin >> s1 >> s2;
string a ;//记录输出过的字符
for (int i = 0; i < s1.length(); i++) {
if (s2.find(s1[i]) == -1 && a.find(toupper(s1[i])) == -1) {
a += toupper(s1[i]);
}
}
cout << a << endl;
}
三、分析
1.绊脚石
第一次写出来之后有两个问题,大小写转换和去掉重复的字符。
一直想着将出现过的num设为1,表示出现过,但是后来才发现,第一个vector的时候没去重,第二个vector也去不了。
2.总结知识点(看柳神版)
1.函数(转化,判断)
| toupper | 小写字母转大写字母 |
| tolower | 大转小 |
| isalpha | 判断是字母(大,小写) |
| islower | 判断是小写 |
| isupper | 判断是大写 |
| isalnum | 判断是大小写+数字 |
2.find()函数
str.find(" "):返回第一次出现位置(从0开始),没找到返回-1;
4243

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



