美文网首页
Rust语言编程实例100题-030

Rust语言编程实例100题-030

作者: L我是小学生 | 来源:发表于2021-07-19 13:08 被阅读0次

    Rust语言编程实例100题-030

    题目:“回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。在数学中也有这样一类数字有这样的特征,成为回文数(palindrome number)。一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

    程序分析:学会分解出每一位数。如何得到一个数的每位数呢?具体分解过程详见代码注释。

    输出格式:如果是回文数:{} 是一个回文数

    如果不是回文数:{} 不是一个回文数

    知识点:匹配

    fn main() {
       println!("请输入一个5位数字:");
        let mut input_data = String::new();
        std::io::stdin().read_line(&mut input_data).expect("read line error !");
    
        match input_data.trim().parse::<u32>() {
            Ok(data) => {
                if data < 10000 || data > 99999 {
                    println!("请输入一个5位数字!!");
                    return;
                }
    
                // 分解出万位
                let a = data / 10000;
                // 分解出千位
                let b = data % 10000 / 1000;
                // 分解出百位(可以不需要)
                // let c = data % 1000 / 100;
                // 分解出十位
                let d = data % 100 / 10;
                // 分解出个位
                let e = data % 10;
    
                if a == e && b == d {
                    println!("{} 是一个回文数", data);
                } else {
                    println!("{} 不是一个回文数", data);
                }
            }
            Err(_) => {
                println!("输入错误!!");
            }
        }
    }
    

    程序执行结果:

    请输入一个5位数字:
    12321
    12321 是一个回文数
    
    请输入一个5位数字:
    24345
    24345 不是一个回文数
    

    相关文章

      网友评论

          本文标题:Rust语言编程实例100题-030

          本文链接:https://www.haomeiwen.com/subject/procmltx.html