按票价5%计退票费。退票费的计算方法不再四舍五入到元为单位,而是以5角为单位:尾数小于0.25元的舍去、不小于0.25元且小于0.75元的计为0.5元、不小于0.75元的进为1元。
代码
#include<stdio.h>
double CancelFee(double price)
{
double f,y;
int c;
f=0.05*price;
c=(int)f;
y=f-c;
if(y<0.25) f=f-y;
else if(y>=0.25&&y<0.75) f=c+0.5;
else if(y>=0.75) f=c+1;
return f;
}
代码
#include<stdio.h>
double CancelFee(double price)
{
int y;
double d,c;
d=price*0.05; //计算本应该退的票费
y=(int)d; //y等于退票费的整数部分
c=d-y; //c等于退票费的小数部分
if(c<0.25)
return d-c; //小于0.25,舍去小数部分
else if(c>=0.25&&c<0.75)
return d-c+0.5; //大于0.25小于0.75,小数部分为0.5
else if(c>=0.75)
return d-c+1; //大于0.75,小数部分直接进1
}
/*int main()
{
double price;
scanf("%lf",&price);
printf("%.1f\n",CancelFee(price));
return 0;
}*/