zoj--3878

来源:互联网 发布:ios基于linux还是unix 编辑:程序博客网 时间:2024/06/05 16:30
Convert QWERTY to Dvorak

Time Limit: 2 Seconds      Memory Limit: 65536 KB

Edward, a poor copy typist, is a user of the Dvorak Layout. But now he has only a QWERTY Keyboard with a brokenCaps Lock key, so Edward never presses the brokenCaps 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 LayoutThe QWERTY Layout


Dvorak LayoutThe Dvorak Layout

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 Abel, a Dvorak Layout user.But I've only a Qwerty keyboard.The following lines are for testing:1234567890`~!@#$%^&*()+_-={}[]:"'<>,.?/\|ABCDEFuvwxyzAXJE>Ugk,qf;

这道题,眼睛都看花了,题目很简单,就是字符转化,一开始使用swtich来写密密麻麻的,后来居然warning,case太多什么什么的,后来看了一下人家的,用两个字符串就OK了,这方法太赞了;(注意单引号--\'      双引号\"    应该这样表示)

代码如下:

#include<stdio.h>#include<string.h>char s1[]={"-+QWERTYUIOP{}_=qwertyuiop[]SDFGHJKL:\"sdfghjkl;\'ZXCVBN<>zxcvbn,.?/"};char s2[]={"[}\"<>PYFGCRL?+{]\',.pyfgcrl/=OEUIDHTNS_oeuidhtns-:QJKXBWV;qjkxbwvZz"};char check(char c){for(int i=0;s1[i];i++){if(s1[i]==c)return s2[i];}return c;}int main(){char a;while(scanf("%c",&a)!=EOF){printf("%c",check(a));}return 0;}


 

0 0
原创粉丝点击