js做华为机试题的疑问(请教)

链接:https://www.nowcoder.com/questionTerminal/64f6f222499c4c94b338e588592b6a62?answerType=1&f=discussion
来源:牛客网
从输入任意个整型数,统计其中的负数个数并求所有非负数的平均值,结果保留一位小数,如果没有非负数,则平均值为0
本题有多组输入数据,输入到文件末尾,请使用while(cin>>)读入
数据范围小于1e6
输入描述:

输入任意个整数

输出描述:

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

示例1

输入

-13
-4
-7

输出

3
0.0  
我看到通过的解题答案:
while(line=readline()){
var arr=[],j=0,add=0
arr=line.split(' ')
arr.forEach((v,i)=>{
if(Number(v)<0){
v=0
j++
}else{
add += Number(v)
}
})
let a = parseFloat(add/(arr.length-j-1)).toFixed(1)
console.log(j)
console.log(a)
}

请问为什么a是parseFloat(add/(arr.length-j-1)).toFixed(1)  而不是parseFloat(add/(arr.length-j)).toFixed(1)
谢谢
#笔试题目##华为#
全部评论
它的最后一个字符是空格, 需要减一
点赞
送花
回复
分享
发布于 2020-08-02 21:54

相关推荐

点赞 1 评论
分享
牛客网
牛客企业服务