3476. WERTYU
⭐️难度:简单(有点细节要注意)
⭐️类型:模拟
📖题目:题目链接

📚题解:
注意:
1、空格保持不变。
2、使用fgets配合循环处理未知数量行的输入。
cpp
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<vector> // vector不需要.h
#include<list>
#include<set> // // 可以用 set 和 multiset
#include<unordered_set> // 可以用 unordered_set 和 unordered_multimap
#include<map> // // 可以用 map 和 multimap
#include<unordered_map> // 可以用 unordered_map 和 unordered_multimap
using namespace std;
int main() {
// <键入错误,应该的值>
map<char, char> key = {
{'2','1'},{'3','2'},{'4','3'},
{'5','4'},{'6','5'},{'7','6'},
{'8','7'},{'9','8'},{'0','9'},
{'-','0'},{'=','-'},{'W','Q'},
{'E','W'},{'R','E'},{'T','R'},
{'Y','T'},{'U','Y'},{'I','U'},
{'O','I'},{'P','O'},{'[','P'},
{']','['},{'S','A'},{'D','S'},
{'F','D'},{'G','F'},{'H','G'},
{'J','H'},{'K','J'},{'L','K'},
{';','L'},{'\'',';'},{'X','Z'},
{'C','X'},{'V','C'},{'B','V'},
{'N','B'},{'M','N'},{',','M'},
{'.',','},{'/','.'},{' ',' '} // 空格符保持不变
};
char str[200] = { 0 };
while (fgets(str, 200, stdin) != NULL) {
// 使用fgets配合循环处理未知数量行的输入
for (int i = 0; str[i] != '\0'; ++i) {
if (str[i] == '\n') { //去除多余的换行
str[i] = '\0';
}
str[i] = key[str[i]];
}
printf("%s\n", str);
}
return 0;
}