游客 Signup | Login
中文 | En

1194 - C语言7.18

有一行电文,已经按照如下规则译成了密码:

A->Z a->z
B->Y b->y
C->X c->x
… …
… …
即第1个字母变换成第26个字母,第i个字母变换成第(26-i+1)个字母。非字母字符不变。给定一段密码,请将其译成原文并输出。

Input

一行密码,包含各种可见字符,保证长度不超过100。

Output

如题目描述中密码翻译规则译出的原文。

请注意行尾输出换行。

Examples

Input

R zn z kiltizn.

Output

I am a program.

Solution C

#include <stdio.h>
#include <string.h>
int main() {
        char encode[101], decode[101];
        int i, length;
        gets(encode);
        length = strlen(encode);
        decode[length] = '\0';
        for (i = 0;i < length;i++) {
                if ('A' <= encode[i] && encode[i] <= 'Z') {
                        decode[i] = 'A' + ('Z' - encode[i]);
                } else if ('a' <= encode[i] && encode[i] <= 'z') {
                        decode[i] = 'a' + ('z' - encode[i]);
                } else {
                        decode[i] = encode[i];
                }
        }
        puts(decode);
        return 0;
}

Solution C++

#include <stdio.h>
#include <string.h>
int main() {
	char encode[101], decode[101];
	int i, length;
	gets(encode);
	length = strlen(encode);
	decode[length] = '\0';
	for (i = 0;i < length;i++) {
		if ('A' <= encode[i] && encode[i] <= 'Z') {
			decode[i] = 'A' + ('Z' - encode[i]);
		} else if ('a' <= encode[i] && encode[i] <= 'z') {
			decode[i] = 'a' + ('z' - encode[i]);
		} else {
			decode[i] = encode[i];
		}
	}
	puts(decode);
	return 0;
}

Time Limit 1 second
Memory Limit 32 MB
Discuss Stats
上一题 下一题