Rust语言编程例子 第005题:数字排序
Rust语言编程题目:输入三个整数x,y,z,请把这三个数由小到大输出。
程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。基础练习,不要使用Vec。
知识点:运算符 let match
fn main() { let mut input_data = String::new(); println!("请输入3个整数,中间使用空格隔开:"); std::io::stdin().read_line(&mut input_data).expect("read line failed!"); let input_vector: Vec<&str> = input_data.trim().split_whitespace().collect(); // 输入格式错误 if input_vector.len() != 3 { print!("请输入3个数字"); return; } let mut x: i32; let mut y: i32; let mut z: i32; // 校验三个数据 // 第一个 if let Ok(data) = input_vector[0].parse::<i32>() { x = data; } else { println!("您输入的第一个数据不是整数!"); return; } // 第二个 if let Ok(data) = input_vector[1].parse::<i32>() { y = data; } else { println!("您输入的第二个数据不是整数!"); return; } // 第三个 if let Ok(data) = input_vector[2].parse::<i32>() { z = data; } else { println!("您输入的第三个数据不是整数!"); return; } // 3个数分别比较 // 如果x > y 则交换x和y的值 if x > y { let t = x; x = y; y = t; } // 如果x > z 则交换x和z的值 if x > z { let t = x; x = z; z = t; } // 如果x > z 则交换x和z的值 if y > z { let t = y; y = z; z = t; } println!("从小到大排序: {} {} {}", x, y, z); }
程序执行结果:
请输入3个整数,中间使用空格隔开: 983 7 -20 从小到大排序: -20 7 983 Process finished with exit code 0
题目:请使用*号输出英文字母C的图案,类似于电子手表屏幕上的C。请使用两种方式实现。程序分析:这个题目比较简单,可以先用'*'号在纸上写出字母C,再分行输出。第一种方式就是直接使用println打 ...