当前位置: 首页 > article >正文

2025-03-15 学习记录--C/C++-PTA 习题3-3 出租车计价

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻

一、题目描述 ⭐️

习题3-3 出租车计价

本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:

  • 起步里程为3公里,起步费10元;
  • 超起步里程后10公里内,每公里2元;
  • 超过10公里以上的部分加收50%的回空补贴费,即每公里3元;
  • 营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。

输入格式:
输入在一行中给出输入行驶里程(单位为公里,精确到小数点后1位)与等待时间(整数,单位为分钟),其间以空格分隔。

输出格式:
在一行中输出乘客应支付的车费(单位为元),结果四舍五入,保留到元。

输入样例1:

2.6 2

输出样例1:

10

输入样例2:

5.1 4

输出样例2:

14

输入样例3:

12.5 9

输出样例3:

34

二、代码(C语言)⭐️

#include <stdio.h>  // 包含标准输入输出库,用于使用scanf和printf等函数

int main() {
    double distance = 0.0;  // 定义一个浮点数变量distance,用于存储行驶距离,初始值为0.0
    int time = 0;           // 定义一个整数变量time,用于存储等待时间,初始值为0
    double fee = 10.0;      // 定义一个浮点数变量fee,用于存储总费用,初始值为10.0(起步价)

    // 从用户输入中读取两个值,分别赋值给distance和time
    scanf("%lf %d", &distance, &time);

    // 根据行驶距离计算费用
    if (distance > 3 && distance <= 10) {
        // 如果距离大于3公里且小于等于10公里,超出3公里的部分按每公里2元收费
        fee += (distance - 3) * 2.0;
    } else if (distance > 10) {
        // 如果距离大于10公里,3-10公里的部分按每公里2元收费,超出10公里的部分按每公里3元收费
        fee += ((10 - 3) * 2.0 + (distance - 10) * 3.0);
    }

    // 根据等待时间计算费用,每等待5分钟加收2元
    fee += ((time / 5) * 2.0);

    // 输出总费用,四舍五入到整数
    printf("%.0f", fee);

    return 0;  // 程序正常结束
}

在这里插入图片描述

补充 ❀】整数除法浮点数除法 的区别,请查看我的另一篇文章。


http://www.kler.cn/a/586649.html

相关文章:

  • 历年华中科技大学计算机考研复试上机真题
  • 推荐系统基础
  • fastapi +angular​迷宫求解可跨域
  • 【现代深度学习技术】卷积神经网络06:卷积神经网络(LeNet)
  • Protobuf 学习与实践
  • 医院手术麻醉信息系统是如何为医院提质增效的?
  • spring boot实现程序运行过程中数据源动态切换
  • Linux文件管理练习
  • k8s调度机制:亲和性,污点,容忍
  • 4.0 相机引导XY轴控制螺丝枪打螺丝
  • /etc/sysconfig/jenkins 没有这个文件
  • ffmpeg 添加毫秒时间戳
  • Logo语言的移动应用安全
  • Ansible 自动化运维
  • java手机号、邮箱、日期正则表达式
  • 向量数据库对比以及Chroma操作
  • 数据分布偏移检测:保障模型在生产环境中的稳定性
  • 鸿蒙 @ohos.arkui.observer (无感监听)
  • vue3:八、登录界面实现-忘记密码
  • DeepSeek与人工智能:技术演进、架构解析与未来展望