Description
给出一个26位英文密码,分别对应顺序排列的26个英文字母,大写对应大写字母,小写对应小写,给出一段密文,将其翻译成正确内容
Input
输入包括两行,第一行为26个小写字母表示顺序的26个字母对应的密码,第二行是待翻译内容
Output
根据密码将密文翻译成正确内容
Sample Input
eydbkmiqugjxlvtzpnwohracsf
Kifq oua zarxa suar bti yaagrj fa xtfgrj
Sample Output
Jump the fence when you seeing me coming
Solution
简单字符串处理,用s[30]表示密码,用c[1000]表示密文,则小写字母c[j]=s[c[j]-‘a’],大写字母c[j]=s[c[j]-‘A’]-32即可
Code
#include<stdio.h>
#include<string.h>
int main()
{
int j,len;
char s[30],c[1000];
gets(s);
gets(c);
len=strlen(c);
for(j=0;j<len;j++)
{
if(c[j]>='a'&&c[j]<='z')
c[j]=s[c[j]-'a'];
if(c[j]>='A'&&c[j]<='Z')
c[j]=s[c[j]-'A']-32;
}
puts(c);
}