首页 > 试题广场 >

网购

[编程题]网购
  • 热度指数:71370 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
KiKi非常喜欢网购,在一家店铺他看中了一件衣服,他了解到,如果今天是“双11”(11月11日)则这件衣服打7折,“双12” (12月12日)则这件衣服打8折,如果有优惠券可以额外减50元(优惠券只能在双11或双12使用),求KiKi最终所花的钱数。

数据范围:衣服价格满足

输入描述:
一行,四个数字,第一个数表示小明看中的衣服价格,第二和第三个整数分别表示当天的月份、当天的日期、第四个整数表示是否有优惠券(有优惠券用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
#include <stdio.h>

int main()
{
   float i=0.0;  
   int month=0;
   int day=0;
  int count=0;
   scanf("%f%d%d%d",&i,&month,&day,&count);
   if(month==11)
      i=i*0.7-count*50;
    else
       i=i*0.8-count*50;
    if(i<0)
       printf("%.2f",0);
    else
        printf("%.2f",i);
    return 0;
}
发表于 2025-03-04 21:17:08 回复(0)
#include <stdio.h>
int main() {
    int m, d, c;
    float p;
    scanf("%f %02d %02d %d", &p, &m, &d, &c); // 注意 while 处理多个 case
    // 64 位输出请用 printf("%lld") to
    if (m == 11 && d == 11) {
        p = p * 0.7;
      if ( c == 1)  
       p -= 50 ;
        p<0? printf("%.2f", 0.0) : printf("%.2f", p);
    } else if (m == 12 && d == 12) {
        p = p * 0.8;
         if ( c == 1)  
       p -= 50 ;
         p<0? printf("%.2f", 0.0) : printf("%.2f", p);
    } else
        c == 1 ? printf("%.2f", p - 50) : printf("%.2f", p);
    return 0;
发表于 2025-02-06 08:35:28 回复(0)
#include <stdio.h>
int main() {
    float val = 0.0f;
    int m = 0, d = 0, discount = 0;
    float cost = 0.0f;
    scanf("%f %d %d %d", &val, &m, &d, &discount);
    if (11 == m && 11 == d) {
        cost = 0.7 * val - discount * 50;
        if (cost >= 0) {
            printf("%.2f", cost);
        } else {
            printf("0.00");
        }
    } else {
        cost = 0.8 * val - discount * 50;
        if (cost >= 0) {
            printf("%.2f", cost);
        } else {
            printf("0.00");
        }
    }
    return 0;
}
发表于 2025-01-05 19:09:02 回复(0)
#include<stdio.h>

int main()
{ 
    int  month,date,coupon;
    float price;
    scanf("%f %d %d %d",&price,&month,&date,&coupon);
    if((month ==11 && date==11)||(month ==12 && date==12))
    {
       if(month ==11 && date==11)
       {
         price = price *0.7;
       }
       else
        {
          price = price *0.8;       
        }
        if(coupon==1)
        {
            price =price-50;
        }
        if(price>0)
        {
           printf("%.2f",price);
        }
        else 
        {
           printf("0.00"); 
        }
    }
    

 else 
    {
       printf("%.2f",price);
        
    }

    return 0;

}

发表于 2024-12-09 13:17:06 回复(0)
int main()
{
    double a;
    int b,c,d;
    scanf("%lf%d%d%d",&a,&b,&c,&d);
    if(b==11&&c==11)
    {
        if(d==1)
        {
            if(0.7*a-50<=0)
            {
                printf("0.00");
            }
            else 
            {
                printf("%.2lf",0.7*a-50);
            }
        }
        else
        { 
        printf("%.2lf",0.7*a);
        }
    }
    if(b==12&&c==12)
    {
        if(d==1)
        {
            if(0.8*a-50<=0)
            {
                printf("0.00");
            }
            else 
            {
                printf("%.2lf",0.8*a-50);
            }
        }
        else 
        {
            printf("%.2lf",0.8*a);
        }
    }
}

发表于 2024-11-10 16:17:48 回复(0)
#include<stdio.h>
int main() {
    float price = 0;
    int mon = 0, day = 0, youhui = 0;
    scanf("%f%d%d%d", &price, &mon, &day, &youhui);
    if (mon == 11 && day == 11) {
        price = price * 0.7;
        if (youhui == 1) {
            price = price - 50;
        }
    } else if (mon == 12 && day == 12) {
        price = price * 0.8;
        if (youhui == 1) {
            price = price - 50;
        }
    }
    if (price < 0) {
        printf("0.00\n");
    } else {
        printf("%.2f\n", price);
    }
    return 0;
}
发表于 2024-10-30 15:06:28 回复(0)
int main()
{
float m;
int y,r,t;
float z;
scanf("%f%d%d%d",&m,&y,&r,&t);
if(y==11&&r==11)
{
if(t==1)
z=m*0.7-50.0;
else z=m*0.7;
}
else if(y==12&&r==12)
{
if(t==1)
z=m*0.8-50.0;
else z=m*0.8;
}
else if(t==1)
z=m-50.0;
printf("%.2f",z>=0?z:0);
    return 0;
}
发表于 2024-09-15 22:17:49 回复(0)
#include <stdio.h>
int main() {
    double a = 0;
    int b = 0, c = 0, d = 0;
    scanf("%lf %d %d %d", &a, &b, &c, &d);
    if (b == 11 && d == 0) {
        printf("%.2lf", a * 0.7);
    } else if (b == 11 && d == 1) {
        double m = a * 0.7 - 50;
        if ( m <= 0 ) {
            m = 0;
            printf("%.2lf", m);
        } else
            printf("%.2lf", m);
    }
    if (b == 12 && d == 0) {
        printf("%.2lf", a * 0.8);
    } else if (b == 12 && d == 1) {
        double m = a * 0.8 - 50;
        if ( m <= 0 ) {
            m = 0;
            printf("%.2lf", m);
        } else
            printf("%.2lf", m);
    }
    return 0;
}

发表于 2024-08-02 23:16:31 回复(0)
#include<stdio.h>
int main()
{
    float val=0.0f,jiage=0.0f;
    int a=0,b=0,c=0;
    do
   {
    scanf("%f %d %d %d",&val,&a,&b,&c);
   }
   while(!((a==11||a==12)&&(b==11||b==12)));//保证日期

 if(c==1)
{   if(a==11)
    jiage=val*0.7-50;
    else
     jiage=val*0.8-50;
}
else
{
if(a==11)
    jiage=val*0.7;
    else
     jiage=val*0.8;
}

if(jiage>=0)
printf("%.2f",jiage);
else
 printf("0.00");

    return 0;
}
发表于 2024-08-01 15:51:36 回复(0)
#include <stdio.h>

int main() {
    float a;
    int  b, c, d;
    scanf("%f %d %d %d", &a, &b, &c, &d);
    if (b == 11 && c == 11 ) {
        if (d == 1) {
            a = a * 0.7 - 50;
            if (a < 0)
                printf("0.00");
            else
                printf("%.2f", a );
        } else
            printf("%.2f", a * 0.7);
    }
    if (b == 12 && c == 12 ) {
        if (d == 1)
            {a = a * 0.8 - 50;
            if (a < 0)
                printf("0.00");
            else
                printf("%.2f", a);}
         else
            printf("%.2f", a * 0.8);
    }
    return 0;
}
发表于 2024-06-13 16:40:10 回复(0)
#include<stdio.h>

double count_66(double num1,int month,int day,int discount){
    if(month==11&&day==11){
        num1=(num1*0.7)-(50*discount);
    }
    else if(month==12&&day==12){
        num1=(num1*0.8)-(50*discount);
    }
    return num1;
}

int main() {
    double num1,res;int month,day,discount;
    scanf("%lf %d %d %d",&num1,&month,&day,&discount);
    res=count_66(num1,month,day,discount);
    printf("%.2lf",(res>0.00?res:0.00));
        return 0;
    }


发表于 2024-05-31 10:31:20 回复(0)
#include <stdio.h>

int main() {
    float a=0;
    int  b, c, d;
    while(1)
    {
        scanf("%f%d%d%d", &a, &b, &c, &d);
        if ( (b==11 && c==11 ) &&  d==1 )
        {
            a = a*0.7-50;
            if (a <0)
            a=0;
            break;
        }

        if ( b==11 && c==11  )
        {
            a = a*0.7;
            break;
        }

        if (  (b==12 && c==12 ) &&  d==1 )
        {
            a = a*0.8-50;
            if (a <0)
            a=0;
            break;
        }

        if (  b==12 && c==12   )
        {
            a = a*0.8;
            break;
        }

       
    }

    printf("%.2f", a);

   
    return 0;
}
发表于 2024-04-28 11:52:26 回复(0)
#include <stdio.h>

int main()
{
    double arr[4] = { 0 };
    int i = 0;
    for(i = 0; i < 4; i++)
    {
        scanf("%lf ",&arr[i]);
    }

    double money = 0;

    money = arr[0];
    if(arr[1] == 11 &&arr[2] == 11)
    {
        money = arr[0]*0.7-arr[3]*50; 
    }
    if(arr[1] == 12 && arr[2] == 12)
    {
        money = arr[0]*0.8 - arr[3] *50;
    }


    if(money > 0)
        printf("%.2lf", money);
    else
        printf("0.00");
    return 0;
}

发表于 2024-04-16 11:02:31 回复(0)
#include <stdio.h>

int main() {
    float price=0;
    int month=0;
    int date=0;
    int a=0;
    scanf("%f %d %d %d",&price,&month,&date,&a);
    if(month==11&&date==11)
    {
        if(a==1)
            price=price*0.7-50;
        else
            price=price*0.7;
    }
    else if(month==12&&date==12)
    {
        if(a==1)
            price=price*0.8-50;
        else
            price=price*0.8;
    }
    if(price<0)
        printf("0.00");
    else
        printf("%0.2f",price);

    return 0;
}
发表于 2024-04-02 20:01:44 回复(0)
#include <stdio.h>

int main() 
{
    int m = 0;
    int d = 0;
    int flag = 0;
    float money = 0.0f;

    scanf("%f%d%d%d", &money, &m, &d, &flag);

    //双12
    if(12 == m && 12 == d)
    {
        money *= 0.8;
    }
    //双11
    else if(11 == m && 11 == d)
    {
        money *= 0.7;
    }
    //优惠券
    if(flag)
    {
        money -= 50;

        //查看是否倒找钱
        //因为倒找钱的情况只会出现在有优惠券的情况下,所有放在此循环内
        if(money < 0)
        {
           money = 0;
        }
    }
 

    printf("%.2f\n", money);

    return 0;
}

编辑于 2024-03-18 16:38:42 回复(0)
#include <stdio.h>

int main() {
    float a[4];
    float price = 0;
    for (int i = 0; i <= 3; i++) {
        scanf("%f", &a[i]);
    }
    if (a[1] == 11) {
        if (a[3] == 1) {
            price = a[0] * 0.7 - 50;
        } else {
            price = a[0] * 0.7;
        }
    } else {
        if (a[3] == 1) {
            price = a[0] * 0.8 - 50;
        } else {
            price = a[0] * 0.8;
        }
    }
    if(price < 0){
        price = 0;
    }
    printf("%.2f", price);
    return 0;
}
发表于 2024-01-14 12:40:25 回复(0)