C/C++题|牛客网BC37 网购

题目

KiKi非常喜欢网购,在一家店铺他看中了一件衣服,他了解到,如果今天是“双11”(11月11日)则这件衣服打7折,“双12” (12月12日)则这件衣服打8折,如果有优惠券可以额外减50元(优惠券只能在双11或双12使用),求KiKi最终所花的钱数。

数据范围:衣服价格满足 1≤ val ≤100000 

输入格式

一行,四个数字,第一个数表示小明看中的衣服价格,第二和第三个整数分别表示当天的月份、当天的日期、第四个整数表示是否有优惠券(有优惠券用1表示,无优惠券用0表示)。 注:输入日期保证只有“双11”和“双12”。

输出格式

一行,小明实际花的钱数(保留两位小数)。(提示:不要指望商家倒找你钱)

输入输出样例

样例1

输入:1000.0 11 11 1

输出: 650.00

样例2 

输入:999.8 12 12 0

输出:799.84

样例3 

输入:66.6 11 11 1

输出: 0.00

代码 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() {
    float price;
    int month, date, vote;
    scanf("%f %d %d %d", &price, &month, &date, &vote);
    if( month == 11 && date == 11 )//双11
    {
        price *= 0.7;
        if(vote)//是否有券
        {
            price -= 50;
            //判断折后是否大于零
            if(price>0)
            printf("%.2f",price);
            else
            printf("0.00");
        }
        else//无券直接打印价格
        {
            printf("%.2f",price);
        }        
    }
    else if( month == 12 && date == 12 )//双12
    {
        price *= 0.8;
        if(vote)//是否有券
        {
            price -= 50;
            //判断折后是否大于零
            if(price>0)
            printf("%.2f",price);
            else
            printf("0.00");
        }
        else//无券直接打印价格
        {
            printf("%.2f",price);
        }
    }
    else//不在规定时间、无券直接打印价格
    {
        printf("%.2f\n",price);
    }
    return 0;
}

总结

先判断是否在日期内

    if( month == 11 && date == 11 )//双11
    {
        price *= 0.7;
    }
    else if( month == 12 && date == 12 )//双12
    {
        price *= 0.8;
    }
    else//不在规定时间、无券直接打印价格
    {
        printf("%.2f\n",price);
    }

 接着判断是否有券

 if(vote)//是否有券
        {
            price -= 50;
        }
        else//无券直接打印价格
        {
            printf("%.2f",price);
        }      

最后判断是否符合题意 

            //判断折后是否大于零
            if(price>0)
            printf("%.2f",price);
            else
            printf("0.00"); 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值