1102火车票退票费计算
时间: 2024-06-13 08:10:00 浏览: 98
根据提供的引用内容,可以编写一个计算火车票退票费的函数,函数原型如下:
```c
double CancelFee(double price);
```
其中,price为车票的票价,函数返回值为退票费用。
退票费用的计算方法如下:
1. 票面乘车站开车时间前48小时以上的按票价5%计退票费。
2. 车票退票费的计算方法不再四舍五入到元为单位,而是以5角为单位:尾数小于0.25元的舍去、不小于0.25元且小于0.75元的计为0.5元、不小于0.75元的进为1元。
根据上述计算方法,可以编写如下的C语言函数:
```c
double CancelFee(double price) {
double fee = price * 0.05; // 计算退票费用
int temp = (int)(fee * 10) % 10; // 取出退票费用的个位数
if (temp < 3) {
fee = (int)(fee * 10) / 10.0; // 舍去
} else if (temp < 8) {
fee = (int)(fee * 10) / 10.0 + 0.5; // 计为0.5元
} else {
fee = (int)(fee * 10) / 10.0 + 1; // 进为1元
}
return fee;
}
```
使用该函数计算1102火车票的退票费用,假设票价为100元,则退票费用为:
```c
double fee = CancelFee(100);
printf("1102火车票的退票费用为:%.1f元\n", fee);
```
输出结果为:
```
1102火车票的退票费用为:5.0元
```
阅读全文