题目描述
小明是个不太有计划的孩子。这不,刚到手的零花钱,就全部拿着逛商场去了。
小明的原则很简单,见到想买的物品,只要能买得起,就一定会买下来之后才会继续往前走;如果买不起就直接跳过。
一天下来,小明到底买了多少物品呢?
输入格式
输入共 33 行:
第一行是一个整数 N,表示商场中共有 N 种小明想买的物品(1≤N≤100);
第二行共有 N 个整数,分别表示小明先后见到想买的物品的价格;
第三行是一个整数 X,表示开始时小明共有 X 元零花钱。
输出格式
输出 11 行,包含一个整数,表示小明买到的物品数。
输入输出样例
输入
6
7 5 9 10 7 4
30
输出
4
说明/提示
数据范围:
对于 100%的数据满足1≤N≤100 且0≤ai≤100000。
分析:
本题考查循环结构和分支结构。
因为本题的金额总数在最后读入,所以我们需要用数组n来储存每个商品的金额,随后根据题目进行 N次循环进行判断:
- 如果商品 i 的价格 ni 比 x 小,就意味着能买得起它,将总金额减去ni,并将买到的商品总数ans 加上 11;
- 如果买不起,直接跳过。
上代码!
#include <bits/stdc++.h>
using namespace std;
int N, n[105], X, cnt = 0;
int main() {
cin >> N;
for (int i = 1; i <= N; ++i) cin >> n[i];
cin >> X;
for (int i = 1; i <= N; i++) {
if (n[i] <= X)
X -= n[i], cnt++;
else
continue;
}
cout << cnt;
return 0;
}