1928: JYB’s keyboard
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 41 Solved: 19
[ Submit][ Status][ Web Board]
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:
Input
A QWERTY document Edward typed. The document has no more than 100 kibibytes. And there are no invalid characters in the document.
Output
The Dvorak document.
Sample Input
Jgw Gqm Andpw a H.soav Patsfk f;doeNfk Gq.d slpt a X,dokt vdtnsaoheKjd yspps,glu pgld; aod yso kd;kgluZ1234567890`~!@#$%^&*()}"']_+-=ZQqWEwe{[\|ANIHDYf.,bt/ABCDEFuvwxyz
Sample Output
Hi, I'm Abfl, a Dvqrak Layqut usfr.But I'vf qnly a Owfrty kfybqard.Thf eqllqwing linfs arf eqr tfsting:1234567890`~!@#$%^&*()+_-={}[]:"'<>,.?/\|ABCDFEuvwxyzAXJF>Ugk,oe;
HINT
Source
思路:用两个字符数组一个存第一个键盘的字符,另一个存变化后的字符,然后在输出的时候一一对应就可以。
代码:
#include<stdio.h>
#include<string.h>
using namespace std;
char s1[]= {"-=_+qwertyuiop[]asdfghjkl;'zxcvbnm,./\QWERTYUIOP{}ASDFGHJKL:\"ZXCVBNM<>?"};
char s2[]= {"[]{}',.pyegcrl/=aqfuidhtns-;ojkxbmwvz\"<>PYEGCRL?+AQFUIDHTNS_\:OJKXBMWVZ"};
char c;
int main()
{
int t,i;
int len=strlen(s1);
int lem=strlen(s2);
while(~scanf("%c",&c)){
if(c=='\n')
printf("\n");
else
{
for(i=0;i<len;i++)
{
if(s1[i]==c)
{
printf("%c",s2[i]);
break;
}
}
if(i==len)
printf("%c",c);
}
}
return 0;
}