c++ - 如何计算单个元素在向量中所有元素之和中的百分比
问题描述
我有一个
vector<float>a = {1,2,3,4,5,6,7,8,9}
,对于每个元素,我想得到每个值在总和中的百分比。这意味着最终结果应该是
vector<float>b = {2.2%,4.4%,6.6%,8.8,11.1%,13.3%,15.6%,17.8%,20%}
数组的大小是不确定的。以上只是一个例子。
解决方案
首先,您需要计算总数或总和:
float total = std::accumulate(a.begin(), a.end(), 0.0f);
接下来,您需要计算每个项目的百分比:
const unsigned int quantity = a.size();
for (unsigned int i = 0; i < quantity; ++i)
{
float percentage = (a[i] * 100.0f) / total;
cout << percentage << ", ";
}
cout << endl;
推荐阅读
- webpack - Webpack 4模块解析失败:意外的令牌
- python - Writing prediction results into separate files for each group using 'for loop' in Python
- javascript - 在 NodeJS 中解析一个 unicode 编码的字符串
- php - 尝试显示城市列表
- spring - 春季查询执行请求异常
- javascript - 如何使用velocity 1.7转义位于字符串中的单引号'或双引号"
- c - 如何快速识别下面和任何其他代码中代码的复杂性?
- java - 使用迭代器从 ArrayList 中删除。不会给出错误但不会删除
- r - R从sqlite数据库导入数据框找不到数据库中的变量
- php - 如何防止在此查询中被零除?