c语言100道题 第二道 出租车计价

任务描述

本关任务:根据某城市普通出租车收费标准编写程序对车费进行计算。具体标准如下: 起步里程为3km,起步费为10元;10km以内超起步里程部分,每千米2元,超过10km以上的部分加收50%的回空补贴费,即每千米3元。营运过程中,因堵车及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。

编程要求

输入行驶里程(精确到0.1km)与等待时间(精确到分钟),计算并输出乘客应支付的车费(元),结果四舍五入,保留到元。

分析题目:

1 两个变量  一个是路程s,double,float; 一个是时间t  int;还有一个money int;

2 分了三部分 s<=3 money=10;s>3 &&s<=10 money=10+(s-3)*2; s>10 money=24+(s-10)*3

所以我们选择的是 if else-if else 语句。

除此之外还有一个:因堵车及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。

所以我们可以进行简单判断,比较好的地方就是不足5分钟不收费,所以可以直接用int t, t/5 来进行求解

3 最后进行相加,记得有一个四舍五入,这个因为我选择使用的money是int类型,只需要在1 中money表达式求解时+0.5即可,如果选择double也可以,不过要在最后一步进行一个强制转换,因为要进行四舍五入

代码:

#include<stdio.h>
int main(void)
{
    int t, money;
    double s;
    printf("请输入路程和时间:");
    scanf_s("%lf" ,& s);
    scanf_s("%d", &t);
    if (s <= 3){
        money = 10;
    }
    else if (s > 3 && s <= 10) {
        money = 10 + (s - 3) * 2 + 0.5;
    }
    else {
        money = 24 + (s - 10) * 3 + 0.5;
    }
    money = money + (t / 5) * 2;
    printf("车价为%d", money);
    return 0;
}

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值