题解 | #记负均正II#
记负均正II
https://www.nowcoder.com/practice/64f6f222499c4c94b338e588592b6a62
解题思路
这一题和记负均正一的区别在于一规定了输入的数据的数量,二没有规定
因此可以利用scanf()在接受到空或者结束时的标志来判断
也就是:scanf("%lf",&a)!=EOF)
EOF就是scanf的结束标志
剩下的和一的计算方法一样
#include <stdio.h>
int main() {
double a=0,sum=0,avg=0;
int num=0;
while (scanf("%lf",&a)!=EOF)
{
if(a>0)//正数
{
sum+=a;
avg++;
}
if(a<0)//负数
{
num++;
}
a=0;
}
if(sum>0)
{
avg=sum/avg;
}
printf("%d\n%.1f",num,avg);
return 0;
}
