皮尔逊的胡萝卜 2022-10-01 23:30 采纳率: 100%
浏览 30
已结题

求评论区祥解这个问题

img

img


有点看不懂第一句if且往后哪里
求评论区详解*,好吧好像全都看不太懂
主要是grade是什么

  • 写回答

2条回答 默认 最新

  • 莪是男神 2022-10-02 00:11
    关注

    你可以看看我这篇示例,都作了详细的注释:

    /* discountCalculation.c -- 实现折扣计算 */
    #include <stdio.h>
    #include <stdlib.h>
    
    /*
        如下图所示:
        -------------------------------------------------------------------------------------
        |    累计消费金额    |    未满 500 元    |    满 500 元    |    满 1000 元    |    满2000 元    |
        -------------------------------------------------------------------------------------
        |    享受的折扣        |    无折扣        |        9折        |        8折        |        7折        |
        -------------------------------------------------------------------------------------
        商城程序员为该活动编写以下程序,实现的功能为:输入顾客购物消费金额,核算
        并输出享受的折扣与折扣后的支付金额(支付金额精确到小数点后两位)。
    */
    int main(void)
    {
        // 定义浮点数变量 money 存储消费金额、c 存储消费折扣
        float money, c;
        // 定义整数变量 grade 记录消费级别,便于计算消费折扣
        int grade;
        // 提示性输出
        printf("请输入购物消费金额:");
        // 读取并存储输入的金额,如果变量的类型为double,则应使用 %lf 格式读取
        scanf("%f", &money);
        // if-else 结构判断输入的消费金额等级,便于计算消费折扣
        if (money >= 2000) {
            // 如果消费金额为2000及以上,则消费级别为 4 级
            grade = 4;
        } else {
            /*
                其他消费级别可以直接通过 money / 500 获取
                假设消费金额为499,那么 grade = 499 / 500 = 0, 没有折扣
                假设消费金额为512,那么 grade = 515 / 500 = 1, 打九折
                假设消费金额为1500,那么 grade = 1500 / 500 = 3, 打八折
                以此类推...
            */
            grade = money / 500;
        }
        // 根据消费级别使用 switch 语句获取消费折扣
        switch (grade)
        {
            // 小于五百没有折扣:1
            case 0: c = 1; break;
            // 大于五百且小于一千,则享受九折:0.9
            case 1: c = 0.9; break;
            // 一千及以上且小于两千,则享受八折:0.8
            case 2: 
            case 3: c = 0.8; break;
            // 两千及以上享受七折:0.7
            case 4: c = 0.7; break;
        }
        // 输出刚获取享受的优惠折扣
        printf("将享受的优惠:%f\n", c);
        // 输出优惠后实际支付的金额,并且使用 %.2f 输出格式保留两位小数
        printf("优惠后需支付的金额:%.2f", money * c);
    
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月12日
  • 已采纳回答 10月4日
  • 创建了问题 10月1日

悬赏问题

  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥50 如何将脑的图像投影到颅骨上
  • ¥15 提问一个关于vscode相关的环境配置问题,就是输入中文但是显示不出来,代码在idea可以显示中文,但在vscode不行,不知道怎么配置环境
  • ¥15 netcore使用PuppeteerSharp截图
  • ¥20 这张图页头,页脚具体代码该怎么写?
  • ¥15 关于#sql#的问题,请各位专家解答!
  • ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂
  • ¥15 数字信号处理考试111