训练

42 阅读1分钟

通过接收用户输入的 3 个信息(年龄、观影时间、是否会员),按照预设的折扣规则计算并输出最终电影票价。

2. 变量定义与输入

  • 定义了 3 个输入变量:

    • age:整数,存储用户年龄(通过scanf输入)。
    • time:整数,存储观影时间(单位:点,如 10 表示 10 点,通过scanf输入)。
    • isvip:整数,存储是否为会员(1 表示是会员,0 表示非会员,通过scanf输入)。
  • 定义了price:浮点型,用于存储计算后的票价(初始值 0.0)。

3. 票价计算规则(核心逻辑)

计算过程分 4 步,依次叠加折扣 / 优惠:

步骤 1:根据时间确定基础票价

image.png

步骤 2:根据年龄叠加折扣

在基础票价上,按年龄再打折:

image.png

步骤 3:根据会员身份叠加折扣

如果是会员,在当前票价(步骤 2 之后的价格)基础上再打 9 折:

image.png

步骤 4:特殊人群的额外优惠

如果满足 “6 岁及以下 或 60 岁及以上且观影时间在 12 点及之后”,在当前票价(步骤 3 之后的价格)基础上再减 10 元:

image.png

4. 输出结果

最后通过printf输出计算后的最终票价(格式为浮点型)。

举例说明

假设用户输入:

  • 年龄:5(儿童)
  • 时间:10(10 点,12 点前)
  • 是否会员:1(是会员)

计算过程:

  1. 时间≤12 → 基础票价 50 元。
  2. 年龄≤6 → 50 × 0.5 = 25 元。
  3. 是会员 → 25 × 0.9 = 22.5 元。
  4. 年龄≤6 → 满足条件,22.5 - 10 = 12.5 元。

最终输出:您需要付: 12.500000元