关闭

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

220人阅读 评论(0) 收藏 举报
分类:

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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:356324次
    • 积分:19535
    • 等级:
    • 排名:第448名
    • 原创:1663篇
    • 转载:0篇
    • 译文:0篇
    • 评论:61条
    最新评论