CCF GESP C++ 三级上机题(1)逛商场----B3848

题目描述

小明是个不太有计划的孩子。这不,刚到手的零花钱,就全部拿着逛商场去了。

小明的原则很简单,见到想买的物品,只要能买得起,就一定会买下来之后才会继续往前走;如果买不起就直接跳过。

一天下来,小明到底买了多少物品呢?

输入格式

输入共 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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值