乐于分享
好东西不私藏

青少年软件编程等级考试【GESP 一级】买文具|学会价格计算,生活应用题轻松拿分!

青少年软件编程等级考试【GESP 一级】买文具|学会价格计算,生活应用题轻松拿分!

生活中的价格计算,是 GESP 一级必考高频题型,几乎每次考试都出现!只要掌握先算总价、再比较、最后算差额的思路,这类题百分百得分!


一、题目描述

开学了,小明来到文具店选购文具。签字笔 2 元一支,买 X 支;记事本 5 元一本,买 Y 本;直尺 3 元一把,买 Z 把。小明手里有 Q 元钱。请判断钱够不够,并输出结果。

输入

输入 4 行:第一行:正整数 X(签字笔数量,1≤X≤10)第二行:正整数 Y(记事本数量,1≤Y≤10)第三行:正整数 Z(直尺数量,1≤Z≤10)第四行:正整数 Q(小明手里的钱)

输出

输出 2 行:

  1. 钱够 → 第一行输出 "Yes",第二行输出剩下的钱
  2. 钱不够 → 第一行输出 "No",第二行输出缺少的钱

输入样例 1

1

1

1

20

输出样例 1

Yes

10

输入样例 2

1

1

1

5

输出样例 2

No

5


二、解题思路分析

这道题是标准生活计算 + 判断题型,逻辑非常固定,三步搞定:

  1. 算总价
    总价 = 签字笔数量 ×2 + 记事本数量 ×5 + 直尺数量 ×3
  2. 做比较
    拿手里的钱 Q 和 总价 比大小
  3. 出结果
    Q ≥ 总价 → 够钱,输出 Yes + 剩余钱Q < 总价 → 不够,输出 No + 缺少的钱

思路清晰、步骤固定,是 GESP 一级必拿分题!


三、完整可运行代码

#include<stdio.h>intmain(){    int X, Y, Z, Q;    // 分4行输入数量和钱数    scanf("%d", &X);    scanf("%d", &Y);    scanf("%d", &Z);    scanf("%d", &Q);    // 计算总价格    int total = X * 2 + Y * 5 + Z * 3;    // 判断钱够不够    if (Q >= total) {        printf("Yes\n");        printf("%d", Q - total);    } else {        printf("No\n");        printf("%d", total - Q);    }    return 0;}

四、代码讲解

  1. 定义 4 个变量:X、Y、Z 存数量,Q 存钱
  2. 分 4 次输入,完全符合题目要求
  3. 一行公式算出所有文具的总价
  4. if 判断:
    • 钱够:输出 Yes + 剩余钱
    • 钱不够:输出 No + 缺多少钱
  5. 格式规范、代码简短,考场直接套用不出错

五、学习小技巧

所有购物计算、价格判断题目,记住万能模板:先算总价 → 再比较大小 → 最后算差额掌握这个逻辑,GESP 一级所有生活应用题直接秒解!