题解 | #字符串加解密#

字符串加解密

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>());
}

全部评论

相关推荐

05-09 12:23
已编辑
华南理工大学 Java
野猪不是猪🐗:给他装的,双九+有实习的能看的上这种厂我直接吃⑨✌们拿它练练面试愣是给他整出幻觉了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务