poj 2141 Message Decowding 带空格字符串的处理

来源:互联网 发布:linux应用层 编辑:程序博客网 时间:2024/06/04 23:24

题目:

Message Decowding
Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 12669 Accepted: 7113

Description

The cows are thrilled because they've just learned about encrypting messages. They think they will be able to use secret messages to plot meetings with cows on other farms. 

Cows are not known for their intelligence. Their encryption method is nothing like DES or BlowFish or any of those really good secret coding methods. No, they are using a simple substitution cipher. 

The cows have a decryption key and a secret message. Help them decode it. The key looks like this: 
        yrwhsoujgcxqbativndfezmlpk

Which means that an 'a' in the secret message really means 'y'; a 'b' in the secret message really means 'r'; a 'c' decrypts to 'w'; and so on. Blanks are not encrypted; they are simply kept in place. 

Input text is in upper or lower case, both decrypt using the same decryption key, keeping the appropriate case, of course. 

Input

* Line 1: 26 lower case characters representing the decryption key 

* Line 2: As many as 80 characters that are the message to be decoded 

Output

* Line 1: A single line that is the decoded message. It should have the same length as the second line of input. 

Sample Input

eydbkmiqugjxlvtzpnwohracsfKifq oua zarxa suar bti yaagrj fa xtfgrj

Sample Output

Jump the fence when you seeing me coming


题意很简单,解密字符串,考察字符串基本操作。


注:

ASCII:a-z:97-122
          A-Z:65-90


代码:

#include <stdio.h>int main(){//388k 0mschar s[26],p[80],*t;scanf("%s\n%[^\n]",s,p);for(t=p;*t;++t) printf("%c",*t==' '?' ':*t<='Z'?s[*t-'A']-32:s[*t-'a']);puts("");return 0;}


借鉴自discuss 菊苣 poj ID:Leftwo



带空格字符串处理的几种方式:

#include<stdio.h>using namespace std;int main(){char s[55];scanf("%[^\n]",s);//读入[]内匹配的字符,^表示求反集。非换行符均可读入。//    fgets(s,30,stdin); //检查越界,比较安全,但可以读入回车符//char *fgets( char *str, int num, FILE *stream ); //    gets(s);    //不读入回车符printf("%s\n",s);return 0;}








0 0
原创粉丝点击