鱼C论坛

 找回密码
 立即注册
查看: 2017|回复: 1

商品折扣 函数

[复制链接]
发表于 2022-12-23 22:03:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
某二手网站为促进成交,开发了一个自动折扣的功能:自报价之日开始每隔n天自动将商品当前价格按固定折扣率(rate)打折。若折扣后的价格低于底价,则显示底价。
例如:某件商品报价为100元,底价为80元,自动折扣率为0.9,每过5天打折一次。则5天后的价格为100 * 0.9 = 90元;10天后的价格为90 * 0.9 = 81元;15天后,由于 81 * 0.9 < 80, 所以价格为80元。

函数接口定义:
double discount(double price, double basePrice, double rate, int n, int m);
其中 price 表示报价;basePrice 表示底价;rate 表示折扣率;n 表示折扣周期;m 表示距离首次报价的天数 。

裁判测试程序样例:
#include<stdio.h>
double discount(double price, double basePrice, double rate, int n, int m);
int main(){
    double price, basePrice, rate, sellingPrice;
    //price:报价,basePrice:底价  rate:折扣率 sellingPrice:售价
    int n, m;    //n :折扣周期;m:距离首次报价的天数 。
    scanf("%lf%lf%lf%d%d", &price, &basePrice, &rate, &n, &m);
    sellingPrice = discount(price, basePrice, rate, n, m);
    printf("%.2lf\n", sellingPrice);
    return 0;
}

/* 请在这里填写答案 */

评分

参与人数 1贡献 +3 收起 理由
高山 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-12-23 23:59:03 | 显示全部楼层
double discount(double price, double basePrice, double rate, int n, int m);
其中 price 表示报价;basePrice 表示底价;rate 表示折扣率;n 表示折扣周期;m 表示距离首次报价的天数 。

  1. double discount(double price, double basePrice, double rate, int n, int m)
  2. {
  3.         while(m>=n&&price>baseprice)
  4.         {
  5.                 price*=rate;
  6.                 m-=n;
  7.         }
  8.         return price>baseprice?price:baseprice;
  9. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-13 02:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表