【POJ】Mileage Bank(floor()函數的應用)
阿新 • • 發佈:2018-04-20
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()函數的應用)