PAT-B 1029. 旧键盘
来源:互联网 发布:在ubuntu安装虚拟机 编辑:程序博客网 时间:2024/05/21 12:39
题目内容:
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。
输入格式:
输入在2行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过80个字符的串,由字母A-Z(包括大、小写)、数字0-9、以及下划线“_”(代表空格)组成。题目保证2个字符串均非空。
输出格式:
按照发现顺序,在一行中输出坏掉的键。其中英文字母只输出大写,每个坏键只输出一次。题目保证至少有1个坏键。
输入样例:
7_This_is_a_test_hs_s_a_es
输出样例:
7TI
思路分析:
本题思路是将输入存到两个字符数组里,通过逐个字符对比两个数组,得到坏键,按发现顺序存入结果数组中,最后输出。
代码:
#include <stdio.h>#include <ctype.h>void insert(char a[], char in, char *x) // 实现插入新符号时,忽略已有符号{ for (int i = 0; i < *x; i++) // 遍历已有的字符,如果发现重复直接退出 if (a[i] == in) return; a[(*x)++] = in; // 如果没有重复,则添加新字符,并使x自增1}int main(){ char x = 0, a[81] = {0}, b[81] = {0}, bad_key[80] = {0}; scanf("%s %s", a, b); for (int i = 0, j = 0; a[i] != '\0';i++) { if (toupper(a[i]) == toupper(b[j])) // 逐个字符对比,遇到相同的则各增加1 j++; else insert(bad_key, toupper(a[i]), &x); // 遇到实际输出中没有的则添加进坏键数组 } printf("%s", bad_key); return 0;}
点这里进入试题网页
0 0
- PAT(B) 1029. 旧键盘
- PAT-B 1029. 旧键盘
- PAT-B 1029. 旧键盘
- PAT(B) 1029. 旧键盘(20)
- PAT(B) - 1029. 旧键盘(20)
- PAT-B 1029. 旧键盘(20)
- PAT B 1029. 旧键盘(20)
- PAT-B 1033. 旧键盘打字
- PAT-B 1033. 旧键盘打字
- PAT-B 1033. 旧键盘打字(20)
- pat b 1033 旧键盘打字
- PAT 乙级 1029.旧键盘
- PAT ---- 1029. 旧键盘(20)
- [PAT-乙级]1029.旧键盘
- 1029. 旧键盘(20) PAT
- PAT--1029. 旧键盘(20)
- PAT 1029. 旧键盘(20)
- Pat 1029. 旧键盘(20)
- poj3693 Maximum repetition substring (后缀数组+rmq)
- 基础卷_异常篇 第11集 异常--总结2补充
- webservice与spring整合发布后台服务
- 关于形如--error LNK2005: xxx 已经在 msvcrtd.lib ( MSVCR90D.dll ) 中定义--的问题分析解决
- STL容器元素应满足的条件
- PAT-B 1029. 旧键盘
- boot2docker.iso无法下载
- vtk实战(三十九)——读取PNG数据
- Reverse Vowels of a String
- OpenGLES::体验OpenGL ES的乐趣
- 1.Python操作Redis:键(Key)
- reveal使用
- 一个可执行程序的组成
- Spring JDBC常用方法详细示例