2217 - 解密信息
一天,小明收到了小红给他发来的一封邮件,但是大眼看上去是一堆乱码,不过在邮件的最后小明看到了小红写的邮件解密的方法,举例如下:
给出一串解密key,例如yrwhsoujgcxqbativndfezmlpk。
这串解密key的意思就是邮件中的‘a’实际上应该是‘y’,邮件中的‘b’实际上应该是‘r’,邮件中的‘c’实际上应该是‘w’,以此类推。邮件中的空格不需要解密,按原样显示即可。
Input
输入包含多组测试数据。
每组输入的第一行为一个包含26个小写字母的字符串,表示解密key。
每组输入的第二行为一个长度不超过80的字符串,表示待解密的邮件内容,其中包含大小写字母、空格。
Output
对于每组输入,输出解密后的邮件内容,每组输出占一行。
Examples
Input
eydbkmiqugjxlvtzpnwohracsf Kifq oua zarxa suar bti yaagrj fa xtfgrj
Output
Jump the fence when you seeing me coming
Solution C
#include<stdio.h> int main() { char b[30]; char c[85]; int i; int d; while (scanf("%s",b)!=EOF) { getchar(); gets(c); for (i=0; c[i]!='\0'; i++) { if(c[i]!=' ') { d = c[i]; if (d>=97) printf("%c",b[d-97]); else printf("%c",b[d-65]-32); } else printf("%c",c[i]); } printf("\n"); } return 0; }
Solution C++
#include <stdio.h> int main() { int i; char a[27], b[81]; while (gets(a)) { gets(b); for (i = 0; b[i] != '\0'; i++) if (b[i] >= 'a' && b[i] <= 'z') b[i] = a[b[i] - 'a']; else if (b[i] >= 'A' && b[i] <= 'Z') b[i] = a[b[i] - 'A'] - 32; puts(b); } return 0; }