华为机试 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; } }