描述
在大学里,很多单词都是一词多义,偶尔在文章里还要用引申义。这困扰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
输入
本题包括多组测试数据。 每组测试数据为一行:为仅由字母和空格组成的字符串(空格不变)。 输入以单行“#”结束。
输出
对应每组测试数据,替换后输出它的引申义。
输入样例 1
Ilttabaje zaujljg
输出样例 1
Different meaning
#include<string.h>
#include<stdio.h>
int main(){
char s[2][27]={{'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'},{'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'}}; //定义二维数组
char str[1000],ss[100];
int i,j;
while(gets(str)){
if(str[0]=='#') break;
j = 0; //每次重置j
for(i=0;i<strlen(str);i++){
if(str[i]>='A'&&str[i]<='Z'){
ss[j] = s[0][str[i]-'A'];
j++;
}
if(str[i]>='a'&&str[i]<='z'){
ss[j] = s[1][str[i]-'a'];
j++;
}
if(str[i]==' '){ //空格情况
ss[j] = ' ';
j++;
}
}
for(i=0;i<j;i++){
printf("%c",ss[i]);
}
printf("\n");
}
}