1. 程式人生 > >【POJ】Mileage Bank(floor()函數的應用)

【POJ】Mileage Bank(floor()函數的應用)

problem cout 意思 main 應用 span AC math .org

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()函數的應用)