题解 | #记负均正#

记负均正

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 语法就能看懂

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务