题目描写叙述

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.

输入描写叙述:

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.

输出描写叙述:

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.

输入样例:

7_This_is_a_test

_hs_s_a_es

输出样例:

7TI

#include<iostream>
#include <cstring>
#include <cstdlib>
#include <string> using namespace std; const int MAX=80; //去掉字符串中反复的字符
void Remove(char* s, int num)
{
int i,j,l;
i=j=0;
for(i=0;i<num;i++)
{
for(l=0;l<j;l++)
{
if(s[l]==s[i])
break;
}
if(l>=j)
{
s[j++]=s[i];
}
}
s[j]='\0';
} //找出第1个字符串中,没有在第2个字符串中出现的字符。
void Worn(char* lhs, char* rhs, char* result)
{
int i,j,k;
k=0;
for(i=0;lhs[i]!='\0';i++)
{
for(j=0;rhs[j]!='\0';j++)
{
if(lhs[i]==rhs[j])
break;
}
if(rhs[j]=='\0')
{
result[k++]=lhs[i];
}
}
result[k]='\0';
} int main()
{
int i;
string n,m;
char sn[MAX],sm[MAX],sr[MAX];
while(cin>>n>>m)
{
//将输入的字符串1中的小写英文字符转换为大写英文字符
for(i=0;i<n.length();i++)
{
sn[i]=n[i];
if((sn[i]>=65)&&(sn[i]<=90) || (sn[i]>=97)&&(sn[i]<=122))
sn[i]=::toupper(sn[i]);
}
sn[i]='\0'; //将输入的字符串2中的小写英文字符转换为大写英文字符
for(i=0;i<m.length();i++)
{
sm[i]=m[i];
if((sm[i]>=65)&&(sm[i]<=90) || (sm[i]>=97)&&(sm[i]<=122))
sm[i]=::toupper(sm[i]);
}
sm[i]='\0'; /*
for(i=0;sn[i]!='\0';i++)
cout<<sn[i]<<" ";
cout<<endl; for(i=0;sm[i]!='\0';i++)
cout<<sm[i]<<" ";
cout<<endl;
*/ Remove(sn,n.length());
Remove(sm,m.length()); Worn(sn,sm,sr); for(i=0;sr[i]!='\0';i++)
cout<<sr[i];
cout<<endl;
}
return 0;
}

PAT Broken Keyboard (20)的更多相关文章

  1. 1084. Broken Keyboard (20)【字符串操作】——PAT (Advanced Level) Practise

    题目信息 1084. Broken Keyboard (20) 时间限制200 ms 内存限制65536 kB 代码长度限制16000 B On a broken keyboard, some of ...

  2. pat1084. Broken Keyboard (20)

    1084. Broken Keyboard (20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue On a ...

  3. PAT Advanced 1084 Broken Keyboard (20) [Hash散列]

    题目 On a broken keyboard, some of the keys are worn out. So when you type some sentences, the charact ...

  4. 1084. Broken Keyboard (20)

    On a broken keyboard, some of the keys are worn out. So when you type some sentences, the characters ...

  5. PAT (Advanced Level) 1084. Broken Keyboard (20)

    简单题. #include<cstdio> #include<cstring> #include<cmath> #include<vector> #in ...

  6. 【PAT甲级】1084 Broken Keyboard (20 分)

    题意: 输入两行字符串,输出第一行有而第二行没有的字符(对大小写不敏感且全部以大写输出). AAAAAccepted code: #define HAVE_STRUCT_TIMESPEC #inclu ...

  7. 1084. Broken Keyboard (20)-水题

    #include <iostream> #include <cstdio> #include <string.h> #include <algorithm&g ...

  8. PAT 1084 Broken Keyboard

    1084 Broken Keyboard (20 分)   On a broken keyboard, some of the keys are worn out. So when you type ...

  9. PAT_A1084#Broken Keyboard

    Source: PAT A1084 Broken Keyboard (20 分) Description: On a broken keyboard, some of the keys are wor ...

随机推荐

  1. React 篇 Comment Model

    Model 原型 Comment Box <div className="commentBox"> <h1>Comments</h1> < ...

  2. PHP常见问题总结

    1.为什么会出现这种情况?端口什么的都设置正确了. 解决方法: 请将本机的IIS服务关闭,开启Apache服务.IIS服务的关闭方法可参见 https://jingyan.baidu.com/arti ...

  3. Quartus 12的TimeQuest Timing Analyzer

    Quartus 12的TimeQuest Timing Analyzer 1.在Quartus II软件打开和设置设计 安装路径下\qdesigns\fir_fliter文件.在Processing ...

  4. magento category Ids Name

    如何获取产品的分类的名称 和ids 1.对于产品的分类ids 的获取      $this->getProduct()->getCategoryIds() 2.对应产品的分类的Name 的 ...

  5. jsp学习笔记 - 内置对象 application

    ---恢复内容开始--- 1.application一般用this.getServletContext()替代 2.appllication有一个非常有用的函数 getRealPath(),获取绝对路 ...

  6. 定时器tasktimer

    1.web.xml中配置 <servlet> <servlet-name>TaskTimer</servlet-name> <servlet-class> ...

  7. Java入门第37课——猜字母游戏之设计数据结构

    问题        有猜字母游戏,其游戏规则为:程序随机产生5个按照一定顺序排列的字符作为猜测的结果,由玩家来猜测此字符串.玩家可以猜测多次,每猜测一次,则由系统提示结果.如果猜测的完全正确,则游戏结 ...

  8. SpringBoot中如何使用jpa和jpa的相关知识总结

    jpa常用的注解: 注解 解释 @Entity 声明类为实体或表. @Table 声明表名. @Basic 指定非约束明确的各个字段. @Embedded 指定类或它的值是一个可嵌入的类的实例的实体的 ...

  9. 面向对象程序设计--Java语言第一周编程题:分数

    分数 题目内容: 设计一个表示分数的类Fraction.这个类用两个int类型的变量分别表示分子和分母. 这个类的构造函数是: Fraction(int a, int b) 构造一个a/b的分数. 这 ...

  10. Luogu P1991 无线通讯网

    P1991 无线通讯网 题目描述 国防部计划用无线网络连接若干个边防哨所.2 种不同的通讯技术用来搭建无线网络: 每个边防哨所都要配备无线电收发器:有一些哨所还可以增配卫星电话. 任意两个配备了一条卫 ...