和上一题一样,可以边读入边判断,但是要注意换行符的处理,一开始没注意就直接cout空格,没有注意换行符,关键还是处理换行符
然后键盘的处理的话就是按照自己的键盘敲一遍可输入区域就可以,之后就可以直接判断是否要输入前一位
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
char all[]="`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./";
char c;
int ok = 0;
int main()
{
while((c = getchar())!=EOF)
{
int tmp=0;
for(int i = 0;i<strlen(all);i++)
if(all[i]==c) tmp = i;
if(tmp) cout<<all[tmp-1];
else putchar(c);
}
return 0;
}