栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【PAT乙级】题解-1029 旧键盘

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【PAT乙级】题解-1029 旧键盘

PAT :计算机程序设计能力考试:一个高校编程学习赛,内容基础,据说题目描述含糊不清,造成诸多理解错误。

第一观感是:输入输出样例极少,未给学生充分理解题目,提供更多辅助。

PAT 乙级:只涉及基础编程,最难到排序算法。适合基础语法学习阶段的同学。

问题描述

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

输入格式

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

输出格式

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

输入输出样例

输入样例1

7_This_is_a_test
_hs_s_a_es

输出样例1

7TI

样例解释:无。

题解 1

思路分析:遍历查询 第一个字符串 s1 中的每个字符,如果字符即不在 第二个字符串 s2 中,也不在结果 ans 中,添加到结果 ans 后。而后输出即可。

#include 
using namespace std;

int main() {

    string s1, s2;
    getline(cin, s1);
    getline(cin, s2);

    string ans = "";
    for(int i = 0; i < s1.size(); i++) {
        if(s2.find(s1[i]) == std::string::npos) {
            if(ans.find(toupper(s1[i])) == std::string::npos) {
                ans += toupper(s1[i]);
            }
        }
    }

    cout << ans << endl;
    return 0;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/836333.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号