分析:
- 第一行是应该输入的键,第二行是实际输入的键
- 要求输出坏掉的键,每个坏键输出一次,如果坏键是字母,输出大写格式
- 题中规定至少有一个坏键,所以不用考虑坏键数目为0的情况
- 判断坏键:
对两行序列的第一个字符开始判断
如果相等都往后移一个字符并判断
如果不相等,第一行往后移一个字符,第二行不变 - 输出坏键,用一个数组记录所有坏键,有新坏键时先判断是否重复,未重复则将该坏键记录(若坏键是字母,不区分大小写,输出大写)
思路:
- 用两个string( inpu oupu)分别存储第一行和第二行的输入
- 从inpu和oupu的第一个字符开始,执行以下操作,用in和ou来记录当前用以比较的字符下标
- 若当前字符相等,同时比较下一个字符
如果inpu[in] == oupu[ou],in++, ou++ - 若当前字符不相等,记录坏键inpu[in],in后移,ou不变
如果inpu[in] != oupu[ou],in++
#include <iostream>
using namespace std;
char badkey[38];
int main() {
st