1603 - 密码翻译0
时间限制 : 1 秒
内存限制 : 32 MB
在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被轻易的识别。我们给出一种最简的的加密方法,对给定的一个字符串,把其中从a-yA-Y的字母用其后继字母替代,把z和Z用a和A替代,则可得到一个简单的加密字符串。
题目输入
可能有多组测试数据。每组测试数据的第一行是字符串的数目n, (也要使用get(s)读取字符串再用n=atoi(s)获得整数数值),其余n行每行一个字符串用gets(s)方式读取这一行字符串.每个字符串长度小于80个字符。
题目输出
对于每组数据,输出每行字符串的加密字符串。
输入/输出样例
输入格式
2 fcaweygat5w4yw4yuh6w ytdnhsrth eTFWTY!@FE%^FEVCDHGD
输出格式
gdbxfzhbu5x4zx4zvi6x zueoitsui fUGXUZ!@GF%^GFWDEIHE
C语言解答
int main(int argc, char* argv[]) {int n,len,i; char s[81]; scanf("%d%*c",&n); while(n--) { gets(s); len=strlen(s); for(i=0;i<len;i++) { if('a'<=s[i]&&s[i]<='y')s[i]+=1; else if('z'==s[i])s[i]='a'; if('A'<=s[i]&&s[i]<='Y')s[i]+=1; else if('Z'==s[i])s[i]='A'; } puts(s); } return 0; }
C++解答
/*AC*/ #include<stdio.h> #include<string.h> #include<stdlib.h> #include<ctype.h> int main() { int n,i; char num[9],ss[81]; while(gets(num)) { n = atoi(num); while(n--) { gets(ss); for(i = 0;i < strlen(ss);i++) if(isalpha(ss[i])) { if(ss[i] == 'Z') ss[i] = 'A'; else if(ss[i] == 'z') ss[i] = 'a'; else ss[i] += 1; } puts(ss); } } return 0; }
Python解答
# coding=utf-8 x = int(input()) for a in range(0,x): y =str(input()) s = '' for i in y: if 'a' <= i <= 'y' or 'A' <= i <= 'Y': s += chr(ord(i)+1) elif i == 'z': s += 'a' elif i == 'Z': s += 'A' else: s += i print(s)