题解 | #字符串加解密#
字符串加解密
https://www.nowcoder.com/practice/2aa32b378a024755a3f251e75cbf233a
use std::io::{self, *};
fn enc(c: char) -> char {
match c {
'z' => 'A',
'Z' => 'a',
'a'..='y' => (((c as u8) + 1) as char).to_ascii_uppercase(),
'A'..='Y' => (((c as u8) + 1) as char).to_ascii_lowercase(),
'9' => '0',
'0'..='8' => ((c as u8) + 1) as char,
_ => c,
}
}
fn dec(c: char) -> char{
match c {
'a' => 'Z',
'A' => 'z',
'b'..='z' => (((c as u8) - 1) as char).to_ascii_uppercase(),
'B'..='Z' => (((c as u8) - 1) as char).to_ascii_lowercase(),
'0' => '9',
'1'..='9' => ((c as u8) - 1) as char,
_ => c,
}
}
fn main() {
let stdin = io::stdin();
let mut a = String::new();
stdin.read_line(&mut a);
let mut b = String::new();
stdin.read_line(&mut b);
println!("{}", a.trim().chars().map(|i| enc(i)).collect::<String>());
println!("{}", b.trim().chars().map(|i| dec(i)).collect::<String>());
}

