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

全部评论

相关推荐

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