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. Kubernetes容器上下文环境

    目录贴:Kubernetes学习系列 下面我们将主要介绍运行在Kubernetes集群中的容器所能够感知到的上下文环境,以及容器是如何获知这些信息的. 首先,Kubernetes提供了一个能够让容器感 ...

  2. 第二次作业-git的基本操作

     作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2097 一.修改用户名和邮箱地址: (1)配置用户名命令:$git ...

  3. kvm键盘使用

    在新建导向的时候最后一步之前,选择查看细节那里,在desplay的地方选择VNC server ,再在keyboard地方选择us-en,这下进入安装界面就可以了.

  4. linux --- 5. nginx 初始

    一. 安装nginx 1.安装nginxz之前的依赖包 yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel o ...

  5. Ansible在Ubuntu上的安装

    #apt安装 apt-get install software-properties-common apt-add-repository ppa:ansible/ansible apt-get upd ...

  6. ant常用的内置 task转自https://www.cnblogs.com/baicj/archive/2015/12/21/5063608.html

    ant 例如: <target name="callProjectB"> <echo message="In projectA calling proj ...

  7. 第十届蓝桥杯2019年C/C++ 大学B组省赛试题

    2019年第十届蓝桥杯大赛软件类省赛C/C++大学B组 试题 A:组队 本题总分:5分 [问题描述] 作为篮球队教练,你需要从以下名单中选出 1号位至 5号位各一名球员, 组成球队的首发阵容. 每位球 ...

  8. Docker部署Bytom全节点钱包

    微服务和容器目前比较流行,相信很多小伙伴都比较熟悉docker, 如果你不是太了解,可以查看文档docker学习手册.那如何用docker搭建比原链(Bytom)的节点呢? 在操作之前,请自行安装do ...

  9. Python3学习笔记-回忆并复述是加强记忆的好方式!

    http://bbs.fishc./thread-35584-1-1.html    #Python好好好 操作系统:linux和mac都自带Python解释器 ->-> -> ID ...

  10. WebApi请求原理

    一.路由: 1.首先执行Application_start 2 .注册路由 WebApiConfig,把路由规则写入一个容器 运行 请求会去容器匹配-找到控制器容器 一般不指定Action, rest ...