【简单】算法nodeJs:记负均正II

79 阅读1分钟

描述

输入 n 个整型数,统计其中的负数个数并求所有非负数的平均值,结果保留一位小数,如果没有非负数,则平均值为0

本题有多组输入数据,输入到文件末尾。

数据范围:1≤n≤50000  ,其中每个数都满足 ∣val∣≤106 

输入描述:

输入任意个整数,每行输入一个。

输出描述:

输出负数个数以及所有非负数的平均值

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void (async function () {
    // Write your code here
    const arr = [];
    while ((line = await readline())) {
        arr.push(Number(line));
    }
    let num = 0;
    const zheng = [];
    for (let i = 0; i < arr.length; i++) {
        if (arr[i] < 0) num++;
        else zheng.push(arr[i]);
    }
    let average = zheng.length
        ? (eval(zheng.join("+")) / zheng.length).toFixed(1)
        : "0.0";

    console.log(num);
    console.log(average);
})();