题目描述

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

输入描述:

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

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

输出描述:

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

输入例子:

7+IE.
7_This_is_a_test.

输出例子:

_hs_s_a_tst
#include <stdio.h>
int main() {
int shuru = 0;
char shu[128];
char numb[100001];
int same[128];
gets(shu);
gets(numb);
int brok = strlen(shu);
int chan = strlen(numb);
int i,j;
for (i = 0; i < brok; i++) {
same[shu[i]] = 1;
if (shu[i] >= 'A' && shu[i] <= 'Z') {
same[shu[i] + 32] = 1;
} else if (shu[i] >= 'a' && shu[i] <= 'z') {
same[shu[i] - 32] = 1;
}
}
for (j = 0; j < chan; j++) {
if (same[numb[j]]) {
continue;
}
if (numb[j] >= 'A' && numb[j] <= 'Z' && same['+']) {
continue;
}
putchar(numb[j]);
shuru++;
}
if (shuru == 0) {
printf("\n");
}
}

网上的

#include <stdio.h>
#include <ctype.h>
int main() {
char A[123] = {
0
}, ch;
while ((ch = getchar()) != '\n') {
A[ch]++;
}
while ((ch = getchar()) != '\n') {
if ((isupper(ch) && A[43]) || A[toupper(ch)]) {
continue;
}
else {
putchar(ch);
}
}
return 0;
}

1033 旧键盘打字 (20 分)C语言的更多相关文章

  1. PAT Basic 1033 旧键盘打字 (20 分)

    旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在 2 行中分别给出坏掉的那些键.以及应该输入 ...

  2. PAT (Basic Level) Practice (中文)1033 旧键盘打字 (20 分)

    旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在 2 行中分别给出坏掉的那些键.以及应该输入 ...

  3. Day 004:PAT练习--1033 旧键盘打字 (20 分)

    题目要求如下:   我一开始理解的题意:第一行给出的是坏掉的键,这里的规则应该是这样的:   1."对应英文字母的坏键以大写给出",若有字母,则与其相关的字母全部不能输出,不论是大 ...

  4. PAT1033 旧键盘打字 (20分) (关于测试点4超时问题)

    1033 旧键盘打字 (20分)   旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在 2 ...

  5. PAT 1033 旧键盘打字(20)(20 分)

    1033 旧键盘打字(20)(20 分) 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在2 ...

  6. PAT (Basic Level) Practise (中文)-1033. 旧键盘打字(20)

    PAT (Basic Level) Practise (中文)-1033. 旧键盘打字(20)  http://www.patest.cn/contests/pat-b-practise/1033 旧 ...

  7. PAT乙级 1033. 旧键盘打字(20)

    1033. 旧键盘打字(20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 旧键盘上坏了几个键,于是在敲一段文 ...

  8. PAT-乙级-1033. 旧键盘打字(20)

    1033. 旧键盘打字(20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 旧键盘上坏了几个键,于是在敲一段文 ...

  9. PAT 1033. 旧键盘打字(20)

    旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在2行中分别给出坏掉的那些键.以及应该输入的文 ...

随机推荐

  1. php 位运算 3<<2;

  2. html前端登录验证

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. zoj 2338 The Towers of Hanoi Revisited

    The Towers of Hanoi Revisited Time Limit: 5 Seconds Memory Limit: 32768 KB Special Judge You all mus ...

  4. 条件随机场(CRF) - 1 - 简介

    声明: 1,本篇为个人对<2012.李航.统计学习方法.pdf>的学习总结,不得用作商用,欢迎转载,但请注明出处(即:本帖地址). 2,由于本人在学习初始时有很多数学知识都已忘记,所以为了 ...

  5. H3C LMI协议标准

  6. java代码注释:单行//,多行/* */,文档注释/** */

    1.单行注释      //: //后到本行结束的所有字符会被编译器忽略; 2.多行注释     /* */: /*  */之间的所有字符会被编译器忽略 3.文档注释     /** */: 在/** ...

  7. 限制允许某些IP访问服务器

    买了台阿里云服务器,部署了一些东西在上面,但是最近老是发现有异常登录,而且不仅仅是登录就完事了,还把服务器上一些重要的项目数据文件都给删除了,由于本人不是专业的运维人员,单位也没有运维人员,百度了一下 ...

  8. C# 获取 PC 序列号

    在 C++ 需要使用 GetSystemFirmwareTable 的方法来获得 PC 的序列号,需要写的代码很多,但是在 C# 可以使用 WMI 来拿到序列号 首先是安装 System.Manage ...

  9. 使用eclipse运行maven web项目 插件/非插件

    一.使用插件 tomcat 8.5 tomcat-users.xml中添加这一行就ok <user username="admin" password="admin ...

  10. 查看虚拟机里的Centos7的IP(设置centos网卡)

    这里之所以是查看下IP ,是我们后面要建一个Centos远程工具Xshell 连接Centos的时候,需要IP地址,所以我们这里先 学会查看虚拟机里的Centos7的IP地址 首先我们登录操作系统 用 ...