想用c++做python里计算数列平均值,和正数在绝对值的比例
2条回答 默认 最新
- _GX_ 2022-09-30 05:50关注
#include <algorithm> #include <iostream> #include <iterator> #include <numeric> #include <vector> int main() { std::vector<int> lst = {-9, 18, 48, 12, 1, -9, -22, -6, 8, -18, 3, 14, -2, 23, 14, -15, 9, 22, -18}; // 区分正数 std::vector<int> lst1; std::copy_if(lst.begin(), lst.end(), std::back_inserter(lst1), [](auto x) { return x > 0; }); std::cout << "正数个数: " << lst1.size() << '\n'; std::copy(lst1.begin(), lst1.end(), std::ostream_iterator<int>(std::cout, " ")); std::cout << '\n'; double s1 = std::accumulate(lst1.begin(), lst1.end(), 0); std::cout << "平均值: " << s1 / lst1.size() << '\n'; // 区分负数 std::vector<int> lst2; std::copy_if(lst.begin(), lst.end(), std::back_inserter(lst2), [](auto x) { return x < 0; }); std::cout << "负数数个数: " << lst1.size() << '\n'; std::copy(lst2.begin(), lst2.end(), std::ostream_iterator<int>(std::cout, " ")); std::cout << '\n'; double s2 = std::accumulate(lst2.begin(), lst2.end(), 0); std::cout << "平均值: " << s2 / lst1.size() << '\n'; // 计算正数在数列绝对值中的比例 std::cout << "比例: " << s1 / (s1 - s2) << '\n'; return 0; }
$ g++ -Wall main.cpp $ ./a.out 正数个数: 11 18 48 12 1 8 3 14 23 14 9 22 平均值: 15.6364 负数数个数: 11 -9 -9 -22 -6 -18 -2 -15 -18 平均值: -9 比例: 0.634686
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 pycharm倒入虚拟环境的时候,显示这个,但是我的虚拟环境已经创建了
- ¥15 FPGA芯片60进制计数器
- ¥15 前端js怎么实现word的.doc后缀文件在线预览
- ¥20 macmin m 4连接iPad
- ¥15 DBIF_REPO_SQL_ERROR
- ¥15 根据历年月数据,用Stata预测未来六个月汇率
- ¥15 DevEco studio开发工具 真机联调找不到手机设备
- ¥15 请教前后端分离的问题
- ¥100 冷钱包突然失效,急寻解决方案
- ¥15 下载honeyd时报错 configure: error: you need to instal a more recent version of libdnet