首页 > 其他 > 详细

【POJ】Mileage Bank(floor()函数的应用)

时间:2018-04-20 21:07:38      阅读:191      评论:0      收藏:0      [点我收藏+]

Mileage Bank

http://poj.org/problem?id=1326

题意:输入起始地点和终止地点(没有用) 输入里程  输入舱位  

航舱分 F B Y 

F  Actual mileage + 100% mileage Bonus

B  Actual mileage + 50% mileage Bonus

Y  1-500 miles          500 miles

 500+ miles       Actual mileage

输出最后的里程数(四舍五入)

思路:因为题里要求要四舍五入,用floor( m + 0.5); floor(double m)是取不大于m的最大整数,那么+0.5就是四舍五入的意思了。

#include<iostream>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
int main()
{
    string o, d;
    double m;
    char x;
    while(1)
    {
        cin >> o;
        if(o[0] == #) break;
        int sum = 0;
        while(cin >> d >> m >> x)
        {
            if(x == F) sum += (m * 2);
            if(x == Y)
            {
                if(m >= 1 && m <= 500) sum += 500;
                else sum += m;
            }
            if(x == B)
            {
                sum += floor( m * 1.5 + 0.5);
            }
            cin >> o;
            if(o[0] == 0)
            {
                cout << sum << endl;
                sum = 0;
                break;
            }



        }
    }
    return 0;
}

 

【POJ】Mileage Bank(floor()函数的应用)

原文:https://www.cnblogs.com/Kohinur/p/8893581.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!