1033 旧键盘打字 (20 分)

简介: 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?

旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?


输入格式:

输入在 2 行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过 105 个字符的串。可用的字符包括字母 [a-z, A-Z]、数字 0-9、以及下划线 _(代表空格)、,、.、-、+(代表上档键)。题目保证第 2 行输入的文字串非空。

注意:如果上档键坏掉了,那么大写的英文字母无法被打出。


输出格式:

在一行中输出能够被打出的结果文字。如果没有一个字符能被打出,则输出空行。


样例:">样例:">输入样例:

1. 
7+IE.
2. 7_This_is_a_test.

输出样例:

_hs_s_a_tst

题目分析:

1.+是上档键,如果坏了,所有的大写字母都用不了

2.要用getline,否则空行处理不了


代码如下:

#include <iostream>
using namespace std;
int main() {
  char check[666];
  string bug, in;
  getline(cin, bug);
  getline(cin, in);
  for (int i = 0; i < bug.length(); i++) {
    check[bug[i]] = 1;
    if (bug[i] >= 'A' && bug[i] <= 'Z') {
      check[(int)bug[i] + 32] = 1;
    }
    if (bug[i] == '+') {
      for (int j = 'A'; j <= 'Z'; j++) { //上档键坏了
        check[j] = 1;
      }
    }
  }
  for (int i = 0; i < in.length(); i++) {
    if (check[in[i]] != 1) {
      cout << in[i];
    }
  }
  cout << endl;
}


相关文章
|
设计模式 监控 Java
【设计模式】JAVA Design Patterns——Circuit Breaker(断路器模式)
【设计模式】JAVA Design Patterns——Circuit Breaker(断路器模式)
|
人工智能 自然语言处理 安全
claude国内怎么用?教你两种claude国内使用方法!
Claude AI 是由 Anthropic 公司开发的一款新一代 AI 助手,旨在成为更安全、更友好、更可靠的 AI 系统。它基于 Anthropic 对 AI 安全性的深入研究,并采用 “Constitutional AI” (宪法式 AI) 的训练方法,使其行为更符合人类价值观,并减少有害输出的可能性。 🛡️
|
监控 Java API
【监控】spring actuator源码速读
【监控】spring actuator源码速读
195 1
|
算法
第 7 天_广度优先搜索 / 深度优先搜索【算法入门】
第 7 天_广度优先搜索 / 深度优先搜索【算法入门】
172 0
|
SQL Java 数据库连接
JAVA中jdbc连接数据库 sql注入与PrepareStatement预处理
JAVA中jdbc连接数据库 sql注入与PrepareStatement预处理
245 0
|
NoSQL 测试技术 数据库连接
使用Python操作MongoDB
使用Python操作MongoDB
使用Python操作MongoDB
|
NoSQL 程序员 API
【探花交友】day06—即时通信(三)
【探花交友】day06—即时通信(三)
165 0
|
7天前
|
存储 关系型数据库 分布式数据库
PostgreSQL 18 发布,快来 PolarDB 尝鲜!
PostgreSQL 18 发布,PolarDB for PostgreSQL 全面兼容。新版本支持异步I/O、UUIDv7、虚拟生成列、逻辑复制增强及OAuth认证,显著提升性能与安全。PolarDB-PG 18 支持存算分离架构,融合海量弹性存储与极致计算性能,搭配丰富插件生态,为企业提供高效、稳定、灵活的云数据库解决方案,助力企业数字化转型如虎添翼!