与记负均正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);
}