思路:直接打两个表就搞完了
#include<bits/stdc++.h>
using namespace std;
char s1[]= {"-=_+qwertyuiop[]QWERTYUIOP{}asdfghjkl;'ASDFGHJKL:\"zxcvbnm,./ZXCVBNM<>?"};
char s2[]= {"[]{}',.pyfgcrl/=\"<>PYFGCRL?+aoeuidhtns-AOEUIDHTNS_;qjkxbmwvz:QJKXBMWVZ"};
char print(char c)
{
for(int i=0; s1[i]; i++)
if(s1[i]==c)
return s2[i];
return c;
}
int main()
{
char c;
while (scanf("%c",&c)!=EOF)
printf("%c",print(c));
return 0;
}
Description
Edward, a poor copy typist, is a user of the Dvorak Layout. But now he has only a QWERTY Keyboard with a broken Caps
Lock key, so Edward never presses the broken Caps Lock key. Luckily, all the
other keys on the QWERTY keyboard work well. Every day, he has a lot of documents to type. Thus he needs a converter to translate QWERTY into Dvorak. Can you help him?
The QWERTY Layout and the Dvorak Layout are in the following:
![Qwerty Layout](http://7xjob4.com1.z0.glb.clouddn.com/0877222a797f8ab2ae3a3e82d453c87e) |
The QWERTY Layout |
|
![Dvorak Layout](http://7xjob4.com1.z0.glb.clouddn.com/45065afeb327ee6e85e7350603102ade) |
The Dvorak Layout |
|
Sample Output
Hi, I'm Abel, a Dvorak Layout user.
But I've only a Qwerty keyboard.
The following lines are for testing:
1234567890
`~!@#$%^&*()+_-={}[]:"'<>,.?/\|
ABCDEFuvwxyz
AXJE>Ugk,qf;