B3863 [GESP202309 一级] 买文具

· · 题解

欢迎大家报名洛谷网校的课程,期待和大家一起进步!

:::align{center} :::

思路分析

本题考查分支结构。

首先,我们需要先计算一下小明买这些文具一共需要多少钱。购买 X 支签字笔,Y 本记事本,Z 把直尺共需要 2\times X + 5\times Y + 3\times Z 元。

然后与小明手里有的 Q 元钱作比较,若小明的钱是够的,则在第一行输出 Yes,第二行输出剩下的钱数;否则小明的钱不够,第一行输出 No,第二行输出缺少的钱数。

核心代码

小明买这些文具一共需要多少钱:

sum = 2 * X + 5 * Y + 3 * Z;

如果小明的钱是足够的:

if (sum <= Q) //判断总花费 sum 是否小于等于小明的钱数 Q
{
    cout << "Yes" << endl;
    cout << Q - sum; //输出剩余钱数
}

如果小明的钱不够:

if (sum > Q)
{
    cout << "No" << endl;
    cout << sum - Q; //输出缺少钱数
}