题目描述

旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。

输入描述:
输入在2行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过80个字符的串,由字母A-Z(包括大、小写)、数字0-9、以及下划线“_”(代表空格)组成。题目保证2个字符串均非空。

输出描述:
按照发现顺序,在一行中输出坏掉的键。其中英文字母只输出大写,每个坏键只输出一次。题目保证至少有1个坏键。

输入例子:
7_This_is_a_test
_hs_s_a_es

输出例子:
7TI

代码

内容:
输入两行字符c[ ], b[ ];
该程序把c[ ]中与b[ ]重复的元素全部删除
并且把c[ ]本身内部重复的元素也删除(大小写被一律转化为大写)
最后输出剩余的不重复的元素

#include<iostream>
#include<string>
#include<map>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{vector <char> c;vector <char> d;char keyBoard;//输入c数组,用回车结束while (keyBoard = getchar()){if (keyBoard == '\n')break;c.push_back(keyBoard);}//输入d数组,用回车结束while (keyBoard = getchar()){if (keyBoard == '\n')break;d.push_back(keyBoard);}//c-d:c,d数组对比,删除c数组中与d数组相同的元素vector<char>::iterator iter = c.begin();int i;for (i = 0; i < d.size(); i++){iter = find(c.begin(), c.end(), d[i]);if (iter != c.end()){c.erase(iter);}}//把c数组中剩余的小写字母转换为大写,其余字符不变for (i = 0; i < c.size(); i++){if (c[i] >= 'a'&&c[i] <= 'z'){c[i] -= 32;}}//删除c数组中的重复元素for (i = 0; i < c.size(); i++){iter = find(++(find(c.begin(), c.end(), c[i])), c.end(), c[i]);//巧妙用++,从第一个想要查找的元素开始查找,删除后面的,保留第一个//iter = find(c.begin()+i+1, c.end(), c[i]);//也可以这样用if (iter != c.end()){c.erase(iter);i--;}}//输出c数组中的所有元素for (i = 0; i < c.size(); i++){cout << c[i];}return 0;
}

牛客网_PAT乙级_1019旧键盘 (20)相关推荐

  1. 牛客网_PAT乙级_1019. 数字黑洞 (20)

    总结 注意!! 想要在函数中结束程序,一定不要用system("pause");,因为这样只是让程序暂停,结果就是运行时间超时,无法通过所有的测试用例. 那么,C++ 程序中什么函 ...

  2. 牛客网_PAT乙级_1023旧键盘打字(20)【别人代码里用到的hash是啥】

    心得 关于如何找到个别测试点通不过的原因: 复制别人的正确的代码,和自己的代码运行相同的测试用例,比较两者之间的区别 ??别人代码里用到的hash是啥?? 题目描述 旧键盘上坏了几个键,于是在敲一段文 ...

  3. 牛客网_PAT乙级_10234有理数四则运算(20)【通过5/7:格式错误】

    题目描述 本题要求编写程序,计算2个有理数的和.差.积.商. 输入描述: 输入在一行中按照"a1/b1 a2/b2"的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整 ...

  4. 牛客网_PAT乙级_1018人口普查(20)

    题目描述 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过200岁的老人,而今天是20 ...

  5. 牛客网_PAT乙级_1017打印沙漏(20)

    题目描述 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 ***************** 所谓"沙漏形状",是指每 ...

  6. 牛客网_PAT乙级1007_A除以B (20)

    题目描述 本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数.你需要输出商数Q和余数R,使得A = B * Q + R成立. 输入描述: 输入在1行中依次给出A和B,中间以1空格分隔 ...

  7. 牛客网_PAT乙级1002_数字分类 (20)

    #include<stdio.h> #include<stdlib.h> int main() {int num;int a[1000] = { 0 };int i;int f ...

  8. 牛客网_PAT乙级_1010月饼 (25)

    因为黑框框里放不下,(非官网)测试用例用txt导入: 这题有一个陷阱,官网上说给非0数,测试用例却出现了0,0吨的月饼能卖507元,而且这样的月饼要最先卖,因为它的price是inf,卖掉0吨净赚50 ...

  9. 牛客网_PAT乙级_1029有几个PAT(25)【输入字符串并strlen计算长度】

    题目描述 字符串APPAPT中包含了两个单词"PAT",其中第一个PAT是第2位§,第4位(A),第6位(T):第二个PAT是第3位§,第4位(A),第6位(T). 现给定字符串, ...

最新文章

  1. “面试不败计划”:集合、日期、异常、序列化、其他知识点
  2. php+dreamweaver cs4+css+ajax,Adobe Dreamweaver, CSS, Ajax и PHP
  3. sqlserver实现分页的几种方式
  4. ZZULIOJ 1117: 查找数组元素
  5. myPRO HMI/SCADA 产品被曝多个严重漏洞
  6. shiro-cas------本地配置cas为HTTPS登录
  7. 【转】Nginx双机热备高可用解决方案【二】
  8. java Process在windows的使用汇总(转)
  9. 学习Java随记之swing编程(2)
  10. 解决dephi使用Word时出现“没有注册接口”的情况。
  11. 【编译原理】- 递归下降的语法分析器的实现
  12. dxf转换html5,移动端CAD版本转换如何输出DXF格式-迅捷CAD转换器
  13. python大文件去重_python3 大文件去重
  14. can总线程序讲解_汽车can总线工作原理及测量方法详解
  15. 在线有道词典,又添新特色了!
  16. 电影在计算机中用什么形式保存,教你如何将 DVD 电影永久保存到电脑里
  17. 生成伪随机数的算法–线性同余法
  18. 用户下订单之后15分钟支付实现_用户提交订单,30分钟后没付款取消订单功能分析...
  19. linux安装gfortran出现错误,Fortran gfortran linux中出现“Segmentation Fault(core dumped)”错误...
  20. (超)体素云连通性分割算法VCCS

热门文章

  1. oracle输出异常,表导出出现异常,无法继续。
  2. 百度贴吧个人主页_百度手机App商店社交应用排行榜,微信连续三个月霸占榜首...
  3. UVA1354天平难题 枚举二叉树
  4. mysql主库宕机能写吗_MYSQL主主切换(主库宕机)_MySQL
  5. oracle11g 01031,Oracle11g Data Guard -- ORA-16047 , ORA-16057 ,ORA-01031
  6. #模拟触手机屏幕_2部手机经受埃隆马斯克火焰枪炙烤:iPhoneXS最终胜出
  7. BZOJ1503(Splay)
  8. NEFU704(AC自动机+状态压缩)
  9. PTA-习题11-2 查找星期 (15 分)-enum
  10. protobuf入门教程(三):常用序列化/反序列化接口