题解 | #字符串加解密#
字符串加解密
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>()); }