POJ 2141 && HDU 2716 Message Decowding(水~)

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);
}

你可能感兴趣的:(POJ 2141 && HDU 2716 Message Decowding(水~))