Rust语言编程例子 第030题:回文数
Rust语言编程题目:“回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。在数学中也有这样一类数字有这样的特征,成为回文数(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语言编程题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。程序分析:用match匹配语句比较好,如果第一个字母一样,则判断用match匹配或if ...