BUG小白BUG 2022-09-19 20:22 采纳率: 88.9%
浏览 512
已结题

加油折扣精确版(ง•̀_•́)ง,总是部分正确

img

img

#include <stdio.h>
float count_discount(int x, float y,float pay)
{
    float sum;
    if (pay<200)
    {
        sum = y * 0.3;// 每升优惠3毛
    if (x == 5)  // 星期五每升额外优惠1毛 
        sum += y * 0.1;
    }
    else
    {
        y = y - (200 / 8.38);
        sum = y * 0.3;// 每升优惠3毛
        if (x == 5)  // 星期五每升额外优惠1毛 
            sum += y * 0.1;
    }
    sum = (int)(sum*100.0 + 0.5) / 100.0;
       return sum;
}
float coupondiscount(float a)
{
    if (a>200)
    {
        return 20;
    }
    else 
    {
        return 0;
    }
}
int main()
{
    int t, x;
    float y;
    float pay, discount;
    scanf("%d", &t);
    while (t--)
    {
        scanf("%d", &x);
        scanf("%f", &y);
        pay =(8.38 * y);
        discount = count_discount(x, y,pay);
        if (pay >= 200)
            pay -= 20;
        pay = pay - discount;
        printf("Order amount: %.2f\n", (int)(8.38 * y*100.0+0.5)/100.0);
        printf("E-coupon discount amount: %.2f\n", coupondiscount(8.38 * y));
        printf("Discount amount: %.2f\nPayment amount: %.2f\n", discount, (int)(pay*100.0 + 0.5) / 100.0);
    }
    return 0;
}

总是部分正确,不知道错在哪里\(◎o◎)/!大家看看能不能改改?是逻辑上的问题,还是精度的问题

  • 写回答

4条回答 默认 最新

  • SoftwareTeacher 《编程之美》作者 2022-09-19 20:30
    关注

    请把代码用 “代码块” 贴出来,大家才好帮你。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月23日
  • 已采纳回答 9月23日
  • 修改了问题 9月20日
  • 修改了问题 9月19日
  • 展开全部

悬赏问题

  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化