题解 | #记负均正II#
记负均正II
http://www.nowcoder.com/practice/64f6f222499c4c94b338e588592b6a62
解题思路:
设置一个 neg_counter
变量用来记录负数的数目。
再设置一个 v
数组来记录非负数的数目。
use std::io::{self, *};
fn main() {
let stdin = io::stdin();
let mut neg_counter = 0i32;
let mut v = vec![];
for line in stdin.lock().lines() {
let ll = line.unwrap();
let num = ll.trim().parse::<i32>().unwrap();
if num >= 0 {
v.push(num);
} else {
neg_counter += 1;
}
}
println!("{}", neg_counter);
let avg = match v.len() {
0 => 0.0,
_ => (v.iter().sum::<i32>()) as f64 / (v.len() as f64),
};
println!("{:.1}",avg);
}
用 Rust 刷华为机试HJ 文章被收录于专栏
用 Rust 刷 HJ100 题,只需要懂基础 Rust 语法就能看懂