简单模拟问题

一、题目信息

1. 题目描述

某百货公司为了促销,采用购物打折的优惠方法,每位顾客一次购物:

  • 购物款 < 1000 元:无折扣(按原价)
  • 1000 ≤ 购物款 < 2000 元:9.5 折优惠
  • 2000 ≤ 购物款 < 3000 元:9 折优惠
  • 3000 ≤ 购物款 < 5000 元:8.5 折优惠
  • 购物款 ≥ 5000 元:8 折优惠

编写程序,输入购物款数,计算并输出优惠价。

2. 输入样例

plaintext

复制代码
850
1230
5000
3560

3. 输出样例

plaintext

复制代码
discount=1,pay=850
discount=0.95,pay=1168.5
discount=0.8,pay=4000
discount=0.85,pay=3026

二、解题分析

简单模拟类题目核心是严格按照题目规则做条件判断 + 数值计算,无需复杂算法。本题只需判断输入金额所属区间,匹配对应折扣率,计算后按指定格式输出即可。

三、纯 C 语言实现代码

cpp 复制代码
#include <stdio.h>  // 纯C标准输入输出库

int main() {
    double amount;  // 存储购物金额(double保证精度)
    // 支持多组输入(机试常见要求,直到输入结束)
    while (scanf("%lf", &amount) != EOF) {
        // 按区间判断折扣并输出结果
        if (amount < 1000) {
            // %g自动去除小数点后无意义的0,整数直接显示整数
            printf("discount=1,pay=%g\n", amount);
        } else if (amount >= 1000 && amount < 2000) {
            printf("discount=0.95,pay=%g\n", amount * 0.95);
        } else if (amount >= 2000 && amount < 3000) {
            printf("discount=0.9,pay=%g\n", amount * 0.9);
        } else if (amount >= 3000 && amount < 5000) {
            printf("discount=0.85,pay=%g\n", amount * 0.85);
        } else if (amount >= 5000) {
            printf("discount=0.8,pay=%g\n", amount * 0.8);
        }
    }
    return 0;
}

四、代码关键说明

  1. 头文件 :替换 C++ 的#include <bits/stdc++.h>为纯 C 的#include <stdio.h>,仅保留标准输入输出功能;
  2. 输入处理while (scanf("%lf", &amount) != EOF)支持多组输入,符合机试常见场景(避免只能输入 1 组数据);
  3. 条件判断 :使用if-else if替代多个独立if,减少无效判断(如金额≥5000 时,不会再判断前面的区间),提升效率;
  4. 输出格式%g自动去除小数点后多余的 0(如 5000*0.8 输出 4000 而非 4000.0),严格匹配样例输出要求;
  5. 数据类型 :用double存储金额,避免浮点精度丢失(若用float可能出现计算误差)。

五、机试注意事项

  1. 简单模拟题是机试送分题,需在 8-15 分钟内完成(考场紧张会导致耗时翻倍,平时需多练);
  2. 输入输出格式必须严格匹配样例(如discount=pay=的拼写、标点,不能多 / 少字符);
  3. 纯 C 语言编写时,无需考虑namespace、C++ 特有的容器 / 语法,仅需掌握scanf/printf、基本条件 / 循环即可。

总结

  1. 简单模拟题核心是按题意做条件判断和数值计算,无需复杂算法;
  2. 机试优化:多组输入用scanf != EOF,条件判断用if-else if,输出用%g适配格式要求。
相关推荐
sel_95 分钟前
【Pytorch】PyTorch 深度学习框架详解:从安装到实战
人工智能·pytorch·深度学习·算法·语言模型
学习星球6 分钟前
【LeetCode算法题精讲】图算法精讲——从图遍历到拓扑排序
数据结构·算法·leetcode·图搜索
_Narcissus_15 分钟前
常见数论算法笔记
数据结构·c++·算法·高精度·数论·快速幂·质数筛
CVHub31 分钟前
智能标注工具 X-AnyLabeling v4 全面升级:迈向 AI 时代的数据生产基础设施
人工智能·算法·github
octopus_c3 小时前
数据结构:堆(Heap)详解
c语言·数据结构·算法
YH55269849 小时前
GPT‑5.6 Sol 原本支持 1M 上下文,Codex 现已放开此前限制,如何看待这次调整?
java·jvm·人工智能·gpt·算法·chatgpt
遥感知识服务11 小时前
从局部阈值、双极化到暗地表剔除:NASA OPERA DSWx-S1全球动态水体算法拆解
大数据·人工智能·深度学习·神经网络·算法·机器学习
晚风醉蝶11 小时前
1-13-TimSort
算法
ZJU_统一阿萨姆11 小时前
【算子开发】算子融合与Softmax_LayerNorm实现
人工智能·算法·语言模型·硬件架构
叩码以求索13 小时前
浅谈:前序遍历反转法求解N叉树的后序遍历
算法