C语言函数题,困惑,。?!

某商场推出打折促销活动:若顾客购物额不满 100 元则不优惠;达到或超过 100 元则九五折优惠;达到或超过 200 元则九折优惠;达到或超过 500 元则八五折优惠;达到或超过 1000 元则八折优惠。请编写函数,根据购物金额计算优惠后的实际付款金额。

函数原型
double Cash(double value);
说明:参数 value 为顾客购物金额,函数值为优惠后实际付款金额。

裁判程序
#include <stdio.h>

double Cash(double value);

int main()
{
double p, c;
scanf("%lg", &p);
c = Cash(p);
printf("%.2f\n", c);
return 0;
}

double Cash(double value){
    if(value>=1000){
        value*=0.8;
    }else if(value>=500){
        value*=0.85;
    }else if(value>=200){
        value*=0.9;
    }else if(value>=100){
        value*=0.95;
    }
    return value;
}