你想购买10,20,30元的商品,需要交0.05的税,即你实际付钱是商品价格*(1+0.05),要求使用向量容器vector,STL算法for_each,及Lamda表达式实现如下两个功能:打印出每件商品的价格,及你的实际付款数。 输出:
时间: 2024-06-13 09:08:27 浏览: 74
```C++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<int> prices = {10, 20, 30};
double tax = 0.05;
vector<double> actual_prices;
// 计算实际付款数
for_each(prices.begin(), prices.end(), [&](int price) {
double actual_price = price * (1 + tax);
actual_prices.push_back(actual_price); });
// 打印每件商品的价格和实际付款数
for_each(prices.begin(), prices.end(), [&](int price) {
int index = &price - &prices[0];
cout << "商品" << index + 1 << "的价格为:" << price << "元,实际付款数为:" << actual_prices[index] << "元" << endl;
});
return 0;
}
// 输出:
// 商品1的价格为:10元,实际付款数为:10.5元
// 商品2的价格为:20元,实际付款数为:21元
// 商品3的价格为:30元,实际付款数为:31.5元
```
--相关问题--:
1. 什么是Lambda表达式?
2. STL中的for
阅读全文