文档章节

PAT A1084. Broken Keyboard (20)

 阿豪boy
发布于 2017/02/25 18:02
字数 363
阅读 4
收藏 0

https://www.patest.cn/contests/pat-a-practise/1084

On a broken keyboard, some of the keys are worn out. So when you type some sentences, the characters corresponding to those keys will not appear on screen.

Now given a string that you are supposed to type, and the string that you actually type out, please list those keys which are for sure worn out.

Input Specification:

Each input file contains one test case. For each case, the 1st line contains the original string, and the 2nd line contains the typed-out string. Each string contains no more than 80 characters which are either English letters [A-Z] (case insensitive), digital numbers [0-9], or "_" (representing the space). It is guaranteed that both strings are non-empty.

Output Specification:

For each test case, print in one line the keys that are worn out, in the order of being detected. The English letters must be capitalized. Each worn out key must be printed once only. It is guaranteed that there is at least one worn out key.

Sample Input:

7_This_is_a_test
_hs_s_a_es

Sample Output:

7TI

 

思路:

1,如何在英文字母不区分大小写的情况下判断在第一个字符串中有哪些字符没有在第二个字符串中出现

2,如何保证同一个字符不区分大小写的情况下只输出一次,且均用大写输出

#include <iostream>
#include <cstdio>
#include <string.h>

using namespace std;

char a[111],b[111];
int cmp(char a,char b){
	return toupper(a)==toupper(b);
}
bool flag[200]={0};
int main(int argc, char *argv[])
{
	int lena,lenb;
	scanf("%s %s",a,b);
	lena = strlen(a);
	lenb=strlen(b);	
	for(int i=0;i<lenb;i++){
		for(int j=0;j<lena;j++){
			if(a[j] && cmp(a[j],b[i]) )
				a[j]=0;
		}
	} 
	
	for(int i=0;i<lena;i++)
		if(a[i] && !flag[ toupper(a[i])] ){
			printf("%c",toupper(a[i]));
			flag[ toupper(a[i])]=1;
		}
	printf("\n");
	return 0;
}

 

© 著作权归作者所有

共有 人打赏支持
粉丝 23
博文 1093
码字总数 737876
作品 0
西安
Kodi v17.1 “Krypton” 发布,Bug 修复版本

Kodi v17.1 “Krypton” 发布了,这主要是一个 Bug 修复版本。 该版本主要完成的 bug 修复: Update Estuary and Estouchy with some bugfixes and improvements Fix EDL skipping Fix slow ......

局长
2017/03/22
1K
0
pkill命令用法之 - 从终端踢掉其他登录者

想从终端快速踢掉系统中其他登录者,可以先用w命令查看当前所有登录信息,并确定自己所在终端号。 [root@gateway ~]# w 10:14:52 up 6:01, 3 users, load average: 0.00, 0.01, 0.05 USER T...

望云眷属
2017/06/23
0
0
Semantic UI 2.2.4 发布,前端界面开发框架

Semantic UI 2.2.4 发布了,Semantic UI——完全语义化的前端界面开发框架,跟 Bootstrap 和 Foundation 比起来,还是有些不同的,在功能特性上、布局设计上、用户体验上均存在很多差异。该版...

花仲马
2016/08/26
3.2K
8
YouTrack 6.5 Build 16807 发布,Bug 修复版本

YouTrack 6.5 Build 16807 发布,此次构建现已提供下载。 此次构建包括一些重要的 bug 修复: JT-29440 — Jetty SSL configuration is out of date JT-31577 — OAuth 2.0 Error JT-31859 —...

oschina
2015/10/02
333
0
16.2、信号捕捉

1、信号帮助: 方法一:#man 7 signal 方法二:#kill -l 方法三:#trap -l 2、常用信号列表 3、trap:捕捉信号, 它不能捕捉9号信号(SIGKILL)和15号信号(SIGTERM),一般常用的捕捉信号是...

嘀充值成功
01/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

移除或自定义 WordPress 仪表盘欢迎面板

第一次登录 WordPress 后台仪表盘页面,默认都会显示 WordPress 的欢迎面板: 如果我们要移除这个面板,在主题的 functions.php 中添加下面的代码即可: 12 //移除 WordPress 仪表盘欢迎面...

james_laughing
14分钟前
0
0
HashMap实现原理及源码分析

HashMap实现原理及源码分析   哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,...

DemonsI
17分钟前
0
0
eggjs学习笔记

快速初始化 生成项目(要求最低的node版本8.x) npm i egg-init -gegg-init egg-example --type=simplecd egg-examplenpm i 启动项目 npm run dev 配置 环境配置会覆盖默认配置 config...

别人说我名字很长
20分钟前
1
0
Winform Timer控件时间间隔

sender as System.Timers.Timer).Interval = 23 * 60 * 60 * 1000.0;//将时间间隔改为23小时,23小时后重新发生timer_Elapsed事件。 //60000:时间间隔1分钟,300000:时间间隔5分钟,600000:...

笑丶笑
21分钟前
0
0
在win10系统下怎样快速切换任务视图

切换窗口:Alt + Tab 任务视图:Win + Tab (松开键盘界面不会消失) 切换任务视图:Win + Ctrl +左/右 创建新的虚拟桌面:Win + Ctrl + D 关闭当前虚拟桌面:Win + Ctrl + F4...

SummerGao
25分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部