题解 | #记负均正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 语法就能看懂

全部评论

相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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