【ZZULIOJ】1102: 火车票退票费计算(函数专题) 您所在的位置:网站首页 zzulioj1115答案 【ZZULIOJ】1102: 火车票退票费计算(函数专题)

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

2023-12-12 08:34| 来源: 网络整理| 查看: 265

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

题目描述 2013年起,火车票退票费比例下调:票面乘车站开车时间前48小时以上的按票价5%计退票费。同时,车票退票费的计算方法不再四舍五入到元为单位,而是以5角为单位:尾数小于0.25元的舍去、不小于0.25元且小于0.75元的计为0.5元、不小于0.75元的进为1元。编写一个函数,计算退票费,假定退票时间举例开车时间在48小时以上。函数原型如下: double CancelFee(double price); 本题如果是C/C++代码提交,只需要提交CancelFee函数的定义部分,提交其它内容,编译出错。

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

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

样例输入

106

样例输出

5.5

其实函数专题难度并不大,然后更多是熟悉函数用法和以前问题的解决是否有新思路。另外我觉得个人来看,函数实际上就是把一个程序分组模块化,这样从结构上对整个程序有了一个处理。使得整个主函数不是那么冗杂。(纯属个人观点)

代码 double CancelFee(double price) { double x,y;//参数x用来小数部分判断和参数y继续整数部分保留 x=0.05*price;//5%的退费 y=(int)(0.05*price);//先强转只看整数部分 while(x>=1)//这里对x进行处理,将整数部分处理掉 { x--; } if(0.25>x&&x>=0) x=0;//舍去 else if(0.75>x&&x>=0.25) x=0.5;//取0.5 else if(1>x&&x>=0.75) x=1;//进位 return y+x;//返回结果x+y }


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有