1. 题目1:密码
主要问题:字符串中有些字符怎么替换并生成新的字符串,重要代码如下:
string newstr;
for (auto x : str)
{
if (x == 'a') x = '!';
else if (x == 'b') x = '@';
else if (x == 'c') x = '#';
newstr += x;
}
2. 题目2:男孩VS女孩
题目在此
主要问题:性别有男、有女、还有不明。要找到男女生中最值并且对于性别不明的内容要进行“Absent”输出,思路上:统计有具体性别的男女数量,如果数量为0,输出“Absent”,否则按要求输出。
3. 题目:字符串减法
题目在此
主要问题:第1题是对字符串进行替换,第3题是对字符串进行删减,一开始我采用的方法是模仿第1题
- 将s2中要删减的字符统计在unordered_set corr中
- 依次遍历s1中的每个字符,如果出现在corr中,就赋值为空
- 结果寄掉了
看了一眼答案,答案没有对要删减的字符赋值为空,而是将s1中没有出现在s2中的字符进行保留。。。。。逆向思维了,这波属于是。
cin:读取单个单词,遇到空白字符(如空格、制表符或换行符)会停止读取,并将空白字符保留在输入流中。
用法:cin >> str;
getline:按行读取,直到遇到换行符或文件结束符EOF,保留换行符在输入流中。
用法:getline(cin, str);