Mileage Bank题解

Mileage Bank

http://www.nowcoder.com/questionTerminal/8ec03ec1fa7544cf84244a441ff9405c

一、题目概述

全是英文的题目,看得好难受啊,但是读懂了题意其实没什么难的地方
这道题是模拟的题目,大概是说,根据给出的里程和等级,得出相应的奖励

  • 若等级为F,奖励为里程的2倍;
  • 若等级为B,奖励为里程的1.5倍;
  • 若等级为Y,当里程在1-500时奖励为500;当里程大于500时,奖励为里程数
  • 最后打印出所以奖励之和。

需要注意数的四舍五入

二、代码实现

#include <bits/stdc++.h>

using namespace std;

int func(int mileage, char classCode);//用于计算奖励

int main() {
    string originalCity, distanceCity;
    int actualMiles;
    char classCode;
    int sum = 0;
    while (cin >> originalCity && originalCity != "#") {
        if (originalCity == "0") {
            cout << sum << endl;
            sum = 0;
            continue;
        }
        cin >> distanceCity >> actualMiles >> classCode;
        sum += func(actualMiles, classCode);
    }
}

int func(int mileage, char classCode) {
    switch (classCode) {
        case 'F':
            return mileage * 2;
        case 'B':
            return (int) (1.5 * mileage + 0.5);//对数四舍五入的处理
        case 'Y':
            return mileage > 500 ? mileage : 500;
        default:
            return 0;
    }
}
全部评论

相关推荐

07-10 11:08
门头沟学院 Java
Sairus:我注册都注册不了提醒我手机号二次啥的,果然对于人才推得就是快,像我投完了就没回音的
投递京东等公司9个岗位
点赞 评论 收藏
分享
06-12 16:23
已编辑
小米_软件开发(准入职员工)
点赞 评论 收藏
分享
炫哥_:为什么都读硕士了?项目还是网上的项目(真心发问)
最后再改一次简历
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务