呼和浩特住房和城乡建设部网站,网页浏览器软件,网站建设精准精细快速,如何开发自己的app题目
旧键盘上坏了几个键#xff0c;于是在敲一段文字的时候#xff0c;对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键#xff0c;打出的结果文字会是怎样#xff1f;
输入格式#xff1a;
输入在 2 行中分别给出坏掉的那些键、以及应该输入的文…题目
旧键盘上坏了几个键于是在敲一段文字的时候对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键打出的结果文字会是怎样
输入格式
输入在 2 行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出每段文字是不超过 105个字符的串。可用的字符包括字母 [a-z, A-Z]、数字 0-9、以及下划线 _代表空格、,、.、-、代表上档键。题目保证第 2 行输入的文字串非空。
注意如果上档键坏掉了那么大写的英文字母无法被打出。
输出格式
在一行中输出能够被打出的结果文字。如果没有一个字符能被打出则输出空行。
输入样例
7IE.
7_This_is_a_test.输出样例
_hs_s_a_tst分析
s1设为坏键s2设为应该输入的字符串。result设为第一次结果串result2设为最终结果串。先去掉s2中坏的键就是用s2[i]的大写形式遍历s1。如果找不到就记录在result里。如果s1里不包含’’result2result否则遍历result将ASCII码在’A’-Z’之外的存入result2。题目有一句话保证字符串2非空没说字符串1所以字符串1应该用getline读取。
AC代码
#includeiostream
#includecctype
#includestring
using namespace std;
int main()
{string s1,s2,result,result2;getline(cin,s1);cins2;int i;for(i0; is2.length(); i){if(s1.find(toupper(s2[i]))string::npos){results2[i];}}if(s1.find()!string::npos){for(i0; iresult.length(); i){if(result[i]A||result[i]Z){result2result[i];}}}elseresult2result;coutresult2;return 0;
}更多题解 pat 乙级(Basic Level) 题解汇总持续更新C