zzulioj1102(小数与整数)

1102: 火车票退票费计算(函数专题)
时间限制: 1 Sec 内存限制: 128 MB
提交: 14583 解决: 5164
[状态] [提交] [命题人:admin]

题目描述
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

#include<stdio.h>
double CancelFee(double price)
{
    double t,x;
    t=price*0.05;
    x=(int)t;//强制取整
    if(t-x>=0&&t-x<0.25) x+=0;
    else if(t-x>=0.25&&t-x<0.75) x+=0.5;
    else x+=1;
    //printf("%.1lf",x);
    return x;
}
int main()
{
    double n;
    scanf("%lf",&n);
    n=Cancelfee(n);
    printf("%.1lf")
    return 0;
}

#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;
}
发布了16 篇原创文章 · 获赞 0 · 访问量 355

猜你喜欢

转载自blog.csdn.net/m0_46238735/article/details/104116680
今日推荐