题解 | #记负均正#
记负均正
http://www.nowcoder.com/practice/6abde6ffcc354ea1a8333836bd6876b8
与记负均正II一样的解法。
解题思路:
设置一个 neg_counter
变量用来记录负数的数目。
再设置一个 v
数组来记录正数的数目。
use std::io;
fn main() {
let mut s = String::new();
io::stdin().read_line(&mut s).unwrap();
s.clear();
io::stdin().read_line(&mut s).unwrap();
let mut v = vec![];
let mut neg_counter = 0u32;
for i in s.trim().split(" ") {
let num = i.parse::<i32>().unwrap();
match num {
0 => {}
1..=1000 => v.push(num),
_ => neg_counter += 1,
}
}
print!("{} ", neg_counter);
let avg = match v.len() {
0 => 0.0,
_ => (v.iter().sum::<i32>()) as f64 / (v.len() as f64),
};
print!("{:.1}", avg);
}
用 Rust 刷华为机试HJ 文章被收录于专栏
用 Rust 刷 HJ100 题,只需要懂基础 Rust 语法就能看懂