题解 | #记负均正#

记负均正

https://www.nowcoder.com/practice/6abde6ffcc354ea1a8333836bd6876b8

#include <stdio.h>

int main() {
    int n;
    int num[2000];
    scanf("%d", &n);
    for (int i = 0; i < n; i++) {
        scanf("%d", &num[i]);
    }
    int negativeNum = 0; //如果不初始化,会得到错误结果
    for (int i = 0; i < n; i++) {
        if (num[i] < 0) {
            negativeNum++;
        }
    }

    float positiveNumAverage;
    int positiveNum = 0;
    int total = 0;
    for (int i = 0; i < n; i++) {
        if (num[i] > 0) {
            total += num[i];
            positiveNum++;
        }
    }
    if (positiveNum != 0) {
        positiveNumAverage = (float)total / positiveNum; //注意这里的类型转换,否则向下取整得不到正确结果
    } else {
        positiveNumAverage = 0;
    }

    printf("%d %.1f", negativeNum, positiveNumAverage);

    return 0;
}

全部评论

相关推荐

一表renzha:手写数字识别就是一个作业而已
点赞 评论 收藏
分享
07-15 00:33
江苏大学 Java
代码飞升:哈哈哈哈评论区三个打广告的
简历中的项目经历要怎么写
点赞 评论 收藏
分享
07-24 12:30
湘潭大学 营销
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务