题目
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");