zzulioj 1102: 火车票退票费计算(函数专题)

本文介绍了一种计算火车票退票费用的算法,该算法根据票价的5%计算退票费,并根据特定规则进行四舍五入。文章提供了一个C/C++函数实现,用于计算并返回保留一位小数的退票费用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目链接:http://acm.zzuli.edu.cn/problem.php?id=1102

 

1102: 火车票退票费计算(函数专题)

时间限制: 1 Sec  内存限制: 128 MB
提交: 11172  解决: 4428
[状态] [讨论版] [提交] [命题人:admin]

题目描述

2013年起,火车票退票费比例下调:票面乘车站开车时间前48小时以上的按票价5%计退票费。同时,车票退票费的计算方法不再四舍五入到元为单位,而是以5角为单位:尾数小于0.25元的舍去、不小于0.25元且小于0.75元的计为0.5元、不小于0.75元的进为1元。编写一个函数,计算退票费,假定退票时间举例开车时间在48小时以上。函数原型如下:

double CancelFee(double price);

本题如果是C/C++代码提交,只需要提交CancelFee函数的定义部分,提交其它内容,编译出错。

输入

输入一个实数,表示火车票票面价格。

输出

输出一个实数,表示退票费,结果保留一位小数。

样例输入 Copy

106

样例输出 Copy

5.5

 

代码:

#include <bits/stdc++.h>
 
using namespace std;
 
double CancelFee(double m)
{
    int x = m * 5;
    int d = x / 100,  s = x % 100;
    double t;
    if(s >= 75)
        t = 1;
    if(s >= 25 && s < 75)
        t = 0.5;
    return 1.0 * d + t ;
}
int main()
{
    double x ;
    scanf("%lf",&x);
    double m = CancelFee(x);
    printf("%.1f\n",m);
    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值