题解 | #网购#

网购

https://www.nowcoder.com/practice/5d7dfd405e5f4e4fbfdff6862c46b751

#include<stdio.h>
int main()
{
    float a,e;//价格为分数,用float定义,a为原价,e为实际花的钱数
    int b,c,d;//b为月份,c为日,d为有无优惠券
    scanf("%f %d %d %d",&a,&b,&c,&d);//输入价格,日期,有无优惠券
    if(b==11)//因为输入日期保证只有"双11"和"双12",故仅判断月份或日即可
    {
        e=a*0.7;//如果是双11,则打7折,实际花的钱数等于价格乘以0.7
    }
    if(b==12)
    {
        e=a*0.8;//如果是双12,则打8折,实际花的钱数等于价格乘以0.8
    }
    if(d==1)
    {
        e=e-50;//如果有优惠券,实际花的钱数等于打完折后再减50元
    }
    printf("%.2f",e>=0?e:0);//注意提示:不要指望商家倒找你钱的意思是实际打完折再用优惠券有可能为负数
    return 0;               //比如66.6 11 11 1这组数据,那就得输出0
                            //所以在这里用到了三目运算符来分类输出
                            //如果e>=0为真,输出e,如果e>=0为假,输出0
                            //注意输出格式,保留两位小数%.2f
}

总结:

三目运算符:判断条件?a:b,如果为真,输出a,如果为假,输出b

全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务