PAT B1029


这道题主要有两个问题需要解决:

  • 如何在不区分大小写的情况下判断第一个字符串中有哪些字符串没有在第二个中出现
  • 如何确保同一个字符(不区分大小写)只输出一次,且英文均用大小写输出

解决步骤

  1. 对于枚举c1 c2 ,如果是小写字母,则先转换成大写字母,再进行对比。如果相等,说明这个字符在第二行字符中出现过,不予输出。如果不等,则继续枚举,如果c1无法在第二行字符串中找到相等的字符串,则将c1输出。
  2. 对于第二个问题,我们设置一个bool型hashTable[128]来表示字符是否已经输出。

注意事项

  • 空格也作为需要判断的字符串
  • 大小写不区分,且小写需要转换成大写形式
  • hashTable的大小只要能把题目给出的字符串包括即可,我们用ascii码的个数128为其数组长度
#include <cstdio>
#include <cstring> int main() {
char str1[100], str2[100];
bool hashTable[128] = {false};
fgets(str1, 100, stdin);
fgets(str2, 100, stdin);
int len1 = strlen(str1);
int len2 = strlen(str2);
for (int i = 0; i < len1; i++) {
int j;
char c1, c2;
for (j = 0; j < len2; j++) {
c1 = str1[i];
c2 = str2[j];
if (c1 >= 'a' && c1 <= 'z') c1 -= 32;
if (c2 >= 'a' && c2 <= 'z') c2 -= 32;
if (c1 == c2) break;
}
if (j == len2 && hashTable[c1] == false) {
printf("%c", c1); //在第二个字符串中未出现c1,且c1未被输出过
hashTable[c1] = true;
}
}
return 0;
}

PAT B1029的更多相关文章

  1. PAT B1029 旧键盘 (20 分)

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

  2. 《转载》PAT 习题

    博客出处:http://blog.csdn.net/zhoufenqin/article/details/50497791 题目出处:https://www.patest.cn/contests/pa ...

  3. PAT Judge

    原题连接:https://pta.patest.cn/pta/test/16/exam/4/question/677 题目如下: The ranklist of PAT is generated fr ...

  4. PAT/字符串处理习题集(二)

    B1024. 科学计数法 (20) Description: 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+ ...

  5. PAT 1041. 考试座位号(15)

    每个PAT考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位.正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座 ...

  6. PAT 1040. 有几个PAT(25)

    字符串APPAPT中包含了两个单词"PAT",其中第一个PAT是第2位(P),第4位(A),第6位(T):第二个PAT是第3位(P),第4位(A),第6位(T). 现给定字符串,问 ...

  7. PAT 1032. 挖掘机技术哪家强(20)

    为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛.现请你根据比赛结果统计出技术最强的那个学校. 输入格式: 输入在第1行给出不超过105的正整数N,即参赛人数.随后N行,每行给出一位 ...

  8. pat甲级题解(更新到1013)

    1001. A+B Format (20) 注意负数,没别的了. 用scanf来补 前导0 和 前导的空格 很方便. #include <iostream> #include <cs ...

  9. PAT (Basic Level) Practise 1040 有几个PAT(DP)

    1040. 有几个PAT(25) 时间限制 120 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 字符串APPAPT中包含了两个单 ...

随机推荐

  1. sitecore开发入门之Sitecore字典结构最佳实践

    使用Sitecore时,一个重要的主题是如何为您的网站处理不同的语言和区域.Sitecore对此的回答是使用字典项,它基本上只代表键/值定义.但是,这个字典项可以设置为具有不同的语言版本,这几乎允许您 ...

  2. SD卡与FAT32系统学习

    2011-06-06 23:04 前2天,我了解了一下SD卡驱动的原理及FAT32文件系统的结构.接着准备主要已移植为主.通过LCD显示SD卡中的图片.但我需要分步进行. 0,使sd卡能读写数据.1, ...

  3. 教你如何在win7中的cygwin64下安装hadoop

    首先我们要准备如下环境及软件: win7(64位) cygwin - jdk-6u25-windows-x64.zip hadoop-.tar.gz 1.在win7系统上正常安装jdk,同时注意设置好 ...

  4. bzoj3437 小P的牧场(斜率优化dp)

    3437: 小P的牧场 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2025  Solved: 1110[Submit][Status][Discu ...

  5. gitlab 迁移

    http://www.cnblogs.com/crysmile/p/9505527.html

  6. Spring Boot 2集成Redis

    Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.redis是一个key-value存储系统,支持存储的valu ...

  7. P5205 【模板】多项式开根

    思路 按如下式子计算即可 \[ B(x)=\frac{A(x)+B'^2(x)}{2B'(x)} \] 代码 // luogu-judger-enable-o2 #include <cstdio ...

  8. HTML基础【4】:表格标签

    表格标签 在过去表格标签用的非常非常的多,绝大多数的网站都是使用表格标签来制作的,也就是说表格标签是一个时代的代表 作用:以表格形式将数据显示出来,当数据量非常大的时候,表格这种展现形式被认为是最为清 ...

  9. JavaScript-DOM(2)

    内部样式及外部样式的获取及修改 内部样式或外部样式不能通过style属性获取样式 IE浏览器:var width = div1.currentStyle.width; 非IE:window.getCo ...

  10. variable 'o' used without having been completely initialized Compiling Vertex program

    variable 'o' used without having been completely initialized Compiling Vertex program   v2f vert (ap ...