华为机试 HJ97 题解 | #记负均正#
记负均正
https://www.nowcoder.com/practice/6abde6ffcc354ea1a8333836bd6876b8
HJ97 记负均正
#include <iostream>
#include <vector>
#include <iomanip>
using namespace std;
int main() {
int n;
while (cin >> n) { // 注意 while 处理多个 case
vector<int> vec1; // 负数数组
vector<int> vec2; // 正数数组
for (int i = 0; i < n; i++) {
int temp;
cin >> temp;
if (temp < 0) {
vec1.push_back(temp);
} else if (temp > 0) {
vec2.push_back(temp);
}
}
double average = 0.0;
if (vec2.size() > 0) {
// 计算所有正整数的平均值,结果保留一位小数
double sum = 0.0;
for (auto iter = vec2.begin(); iter != vec2.end(); ++iter) {
sum += *iter;
}
average = sum / vec2.size();
}
cout << setprecision(1) << fixed << vec1.size() << " "<< average;
}
}