小明是个不太有计划的孩子。这不,刚到手的零花钱,就全部拿着逛商场去了。小明的原则很简单,只要见到想买的物品而且能买得起,就一定会买下来之 后才会继续往前走。 一天下来,小明到底买了多少物品呢? 输入 输入共3行。 第一行是一个整数N,表示商场中共有N种小明想买的物品; 第二行共有M个整数,分别表示小明先后见到想买的物品的价格 第三行是一个整数 X,表示开始时小明共有X元零花钱。 输出 输出1行,包含一个整数,表示小明买到的物品数。c++写
时间: 2024-02-13 13:07:42 浏览: 240
以下是C++代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int n, m, x;
cin >> n;
int* prices = new int[n];
for (int i = 0; i < n; i++) {
cin >> prices[i];
}
cin >> x;
int count = 0;
for (int i = 0; i < n; i++) {
if (x >= prices[i]) {
count++;
x -= prices[i];
} else {
break;
}
}
cout << count << endl;
delete[] prices;
return 0;
}
```
首先读入输入数据,用一个动态数组 `prices` 存储小明想买的物品的价格。然后用一个循环遍历这个数组,如果小明的零花钱足够买下这个物品,就把计数器加一并将零花钱减去这个价格,否则直接退出循环。最后输出计数器的值即可。需要注意的是,用完动态数组后需要手动释放内存。
阅读全文