题解 | #记负均正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; }