code for fun

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

描述

在大学里,很多单词都是一词多义,偶尔在文章里还要用引申义。这困扰Redraiment很长的时间。

他开始搜集那些单词的所有意义。他发现了一些规律,例如

“a”能用“e”来代替, “c”能用“f”来代替……

现在他给出了字母的替换规则,如下所示,A被E替换,B被C替换,依次类推。

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

E C F A J K L B D G H I V W Z Y M N O P Q R S T U X

a b c d e f g h i j k l m n o p q r s t u v w x y z

e r w q t y g h b n u i o p s j k d l f a z x c v m

输入

本题包括多组测试数据。
每组测试数据为一行:为仅由字母和空格组成的字符串(空格不变)。
输入以单行“#”结束。

输出

对应每组测试数据,替换后输出它的引申义。

样例输入

Ilttabaje zaujljg
#

样例输出

Different meaning

 1 #include<stdio.h>
 2 #include<math.h>
 3 #include<string.h>
 4 #include<ctype.h>
 5 
 6 char a[65536];
 7 char m[2][26]={{'E','C','F','A','J','K','L','B','D','G','H','I','V','W','Z',
 8                      'Y','M','N','O','P','Q','R','S','T','U','X'},
 9                     {'e','r','w','q','t','y','g','h','b','n','u','i','o','p','s',
10                                      'j','k','d','l','f','a','c','x','c','v','m'}};
11 
12 void deal()
13 {
14   char c;
15   int i,j;
16   while(1){
17       i=0;
18       c=getchar();
19       if(c=='#')  break;
20       while(c!='\n'){
21           if(isupper(c))  a[i]=m[0][c-65];
22           if(islower(c))  a[i]=m[1][c-97];
23           if(c==' ') a[i]=c;
24           ++i;
25           c=getchar();
26       }
27       printf("%s\n",a);
28       memset(a,'\0',i*sizeof(char));
29   }
30 }
31 
32 int main()
33 {
34     deal();
35     return 0;
36 }

 

 
posted on 2013-05-15 11:48  xueda120  阅读(370)  评论(0编辑  收藏  举报