1161 - C语言6.9
时间限制 : 1 秒
内存限制 : 32 MB
给电文加密。加密规则是对于每一个字符,如果是字母,变换成其相应的其后(循环的字母序,即A紧跟在Z的后面)的第4个字母。例如A变成E,a变成e,W变成A,X变成B,Y变成C,Z变成D。如果不是字母,则不进行变换。
题目输入
输入一行字符。
题目输出
输出相应的密码。
请注意行尾输出换行。
输入/输出样例
输入格式
China!
输出格式
Glmre!
C语言解答
#include<stdio.h> int main(){ char c; while((c=getchar())!='\n'){ if(c>='A'&&c<='Z' || c>='a'&&c<='z'){ if(c>='W'&&c<='Z' || c>='w'&&c<='z') c=c-26+4; else c=c+4; } printf("%c",c); } printf("\n"); return 0; }
C++解答
#include <stdio.h> #include <math.h> int main() { char c; while ((c = getchar()) != '\n') { if (('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z')) { c = c + 4; if (c > 'Z' && c <= 'Z' + 4 || c > 'z') c = c - 26; } printf("%c", c); } printf("\n"); return 0; }
Java解答
import java.util.*; public class Main { public static void main(String args[]) { Scanner cin = new Scanner(System.in); String s = cin.nextLine(); char[] c = s.toCharArray(); for(int i=0;i<c.length;i++){ if((c[i]>='A' && c[i]<='Z')||(c[i]>='a' && c[i]<='z')) { c[i]+=4; if((c[i]>'Z'&&c[i]<'a')||c[i]>'z') c[i]-=26; } } System.out.println(new String(c)); } }
Python解答
from string import maketrans table = maketrans('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', 'efghijklmnopqrstuvwxyzabcdEFGHIJKLMNOPQRSTUVWXYZABCD') print raw_input().translate(table)