def encrypt(s):
result = []
for c in s:
if c.isalpha():
# 处理字母
is_upper = c.isupper()
# 获取下一个字母,注意z/Z的特殊情况
next_char = chr((ord(c.lower()) - ord('a') + 1) % 26 + ord('a'))
# 改变大小写
result.append(next_char.upper() if not is_upper else next_char.lower())
elif c.isdigit():
# 处理数字
result.append(str((int(c) + 1) % 10))
else:
result.append(c)
return ''.join(result)
def decrypt(s):
result = []
for c in s:
if c.isalpha():
# 处理字母
is_upper = c.isupper()
# 获取前一个字母,注意a/A的特殊情况
prev_char = chr((ord(c.lower()) - ord('a') - 1) % 26 + ord('a'))
# 改变大小写
result.append(prev_char.upper() if not is_upper else prev_char.lower())
elif c.isdigit():
# 处理数字
result.append(str((int(c) - 1) % 10))
else:
result.append(c)
return ''.join(result)
while True:
try:
s1 = input()
s2 = input()
print(encrypt(s1))
print(decrypt(s2))
except EOFError:
break
#include <iostream>
#include <string>
using namespace std;
string encrypt(string s) {
string result;
for (char c : s) {
if (isalpha(c)) {
// 处理字母
bool isUpper = isupper(c);
// 获取下一个字母
char nextChar = (tolower(c) - 'a' + 1) % 26 + 'a';
// 改变大小写
result += isUpper ? tolower(nextChar) : toupper(nextChar);
}
else if (isdigit(c)) {
// 处理数字
result += ((c - '0' + 1) % 10) + '0';
}
else {
result += c;
}
}
return result;
}
string decrypt(string s) {
string result;
for (char c : s) {
if (isalpha(c)) {
// 处理字母
bool isUpper = isupper(c);
// 获取前一个字母
char prevChar = (tolower(c) - 'a' - 1 + 26) % 26 + 'a';
// 改变大小写
result += isUpper ? tolower(prevChar) : toupper(prevChar);
}
else if (isdigit(c)) {
// 处理数字
result += ((c - '0' - 1 + 10) % 10) + '0';
}
else {
result += c;
}
}
return result;
}
int main() {
string s1, s2;
while (getline(cin, s1) && getline(cin, s2)) {
cout << encrypt(s1) << endl;
cout << decrypt(s2) << endl;
}
return 0;
}
import java.util.*;
public class Main {
private static String encrypt(String s) {
StringBuilder result = new StringBuilder();
for (char c : s.toCharArray()) {
if (Character.isLetter(c)) {
// 处理字母
boolean isUpper = Character.isUpperCase(c);
// 获取下一个字母
char nextChar = (char)((Character.toLowerCase(c) - 'a' + 1) % 26 + 'a');
// 改变大小写
result.append(isUpper ? Character.toLowerCase(nextChar) : Character.toUpperCase(nextChar));
}
else if (Character.isDigit(c)) {
// 处理数字
result.append((c - '0' + 1) % 10);
}
else {
result.append(c);
}
}
return result.toString();
}
private static String decrypt(String s) {
StringBuilder result = new StringBuilder();
for (char c : s.toCharArray()) {
if (Character.isLetter(c)) {
// 处理字母
boolean isUpper = Character.isUpperCase(c);
// 获取前一个字母
char prevChar = (char)((Character.toLowerCase(c) - 'a' - 1 + 26) % 26 + 'a');
// 改变大小写
result.append(isUpper ? Character.toLowerCase(prevChar) : Character.toUpperCase(prevChar));
}
else if (Character.isDigit(c)) {
// 处理数字
result.append((c - '0' - 1 + 10) % 10);
}
else {
result.append(c);
}
}
return result.toString();
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextLine()) {
String s1 = sc.nextLine();
String s2 = sc.nextLine();
System.out.println(encrypt(s1));
System.out.println(decrypt(s2));
}
}
}