题解 | 记负均正

#include <iomanip>
#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n;
    cin >> n;

    vector<int> nums;
    int temp;
    while (n --) {
        cin >> temp;
        nums.push_back(temp);
    }

    int sum = 0;
    int count_neg = 0;
    int count_pos = 0;
    for (int num : nums) {
        if (num == 0) {
            continue;
        } else if (num < 0) {
            count_neg ++;
        } else {
            sum += num;
            count_pos ++;
        }
    }

    double ave;
    // 需要注意正整数个数为0的情况
    if (count_pos == 0) {
        ave = 0.0;
    } else {
        ave = double(sum) / double(count_pos);
    }
    // fixed + setprecision(n) : 输出小数点后n位
    // setprcision(n) : 从左往右,显示总的n个数
    cout << count_neg << ' ' << fixed << setprecision(1) << ave << endl;;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

每晚夜里独自颤抖:你cet6就cet6,cet4就cet4,你写个cet证书等是什么意思。专业技能快赶上项目行数,你做的这2个项目哪里能提现你有这么多技能呢
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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