小星星开party

时间: 1ms        内存:128M

描述:

眼看元旦就要来了,小星星召集了朋友准备在家开party,小星星去超市买东西准备的时候正巧有活动。 
假设小星星的购物金额为x(整数)  


超市的活动规则如下: 
1、购物金额x<=600元时,每满100元则优惠10元。 
 
2、购物金额600元<x<=1200元时,超出600元的部分每满100元,优惠15元,少于600元的部分打8.88折 
 

3、购物金额1200元<x<=1800元时,超出1200元的部分每满100元,优惠20元,少于1200元的部分打8.33折。 
 

4、购物金额x>1800元时,超出1800元的部分每满100元,优惠30元(此优惠封顶210元,这210元中不包含打折的优惠),少于1800元的部分打8折。
 

(注:假如一件商品100元,打9.55折后的价格为:100*0.955=95.5元)

输入:

购买金额(正整数)

输出:

最终消费(保留2位小数)

示例输入:

800

示例输出:

702.80

提示:

参考答案(内存最优[1120]):

#include<stdio.h>
int main()
{
    int n;
    double a;
    scanf("%d",&n);
    if(n<=600)
    {
        a=n-n/100*10;
    }
    else if(n>600&&n<=1200)
    {
        a=600*0.888+n-600-(n-600)/100*15;
    }
    else if(n>1200&&n<=1800)
    {
        a=1200*0.833+n-1200-(n-1200)/100*20;
    }
    else if(n>1800&&n<=2500)
    {
    a=1800*0.8+n-1800-(n-1800)/100*30;
    }
    else if(n>2500)
    {
        a=1800*0.8+n-1800-210;
     }
     printf("%.2lf",a);
}

参考答案(时间最优[1]):


#include<stdio.h>
int main( )
{
    int X;
    double Y;
    scanf("%d",&X);
    if(X<=600)
        Y=X*0.9;
    else if(X<=1200)
        Y=600*0.888+(X-600)*0.85;
    else if(X<=1800)
        Y=1200*0.833+(X-1200)*0.8;
    else if(X<=2500)
        Y=1800*0.8+(X-1800)*0.7;
    else
        Y=1800*0.8+(X-1800-210);
    printf("%6.2lf",Y);
    return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。