7-8 超速判断 (10 分)
这道题只需要一个简单的分支,非常简单的就可以解决,无需多言
AC代码:
use std::io;
fn main() {
let mut input = String::new();
io::stdin()
.read_line(&mut input)
.unwrap();
let mut s = input.trim().split(' ');
let a_str = s.next().unwrap();
let mut a: i32 = a_str.parse().unwrap();
if (a > 60)
{
println!("Speed: {} - Speeding",a);
}
else
{
println!("Speed: {} - OK",a);
}
}
7-9 用天平找小球 (10 分)
看到这个题我的第一反应是hash_map,不过这也太小题大做了吧。我们只需要简单的写三个分支就可以解决这个问题
AC代码:
use std::io;
fn main() {
let mut input = String::new();
io::stdin()
.read_line(&mut input)
.unwrap();
let mut s = input.trim().split(' ');
let a_str = s.next().unwrap();
let a: i32 = a_str.parse().unwrap();
let b_str = s.next().unwrap();
let b : i32 = b_str.parse().unwrap();
let c_str = s.next().unwrap();
let c : i32 = c_str.parse().unwrap();
if a==b
{
println!("C")
}
else if b==c
{
println!("A")
}
else
{
println!("B")
}
}
大家有没有发现这两道题的分支不太一样?
第一道题我的if判断条件加了括号,实际上,这样编译器会有一个warning。
最好的写法时第二种,不需要括号,只需要一个bool型条件句。