XDOJ 1-3 出租车费

本题分为两个大情况,分别是晚上和白天,又分了三个小情况,分别是3km以内,3-12km,12km以外,只需要将每个情况分别讨论即可。

问题描述

某市出租车起步价3公里9.00元(含3公里),基本公里运价2.00元/公里,单程载客12公里以上时,超出12公里每公里加收公里运价50%的空驶补贴费;夜间计费23时至次日6时(含23时和6时),起步价增加1元,每公里运价加收0.3元。 
例如:(1)乘车时间9点,里程2.5公里,应付车资=起步价,即:fee=9; 
(2)乘车时间14点,里程15.6公里,应付车资=起步价+12公里内车费+超出12公里车费,即: 
fee =9+(12-3)*2 +(15.6-12)*2*(1+0.5); 
(3)乘车时间2点,里程11.3公里,应付车资=起步价+12公里内车费,即:fee=(9+1)+(11.3-3)*(2+0.3); 
从键盘输入乘车时间与乘车的公里数,输出应付的车费。 

输入说明

输入一个整数对应乘车时间(24小时制,0~23),一个实数对应乘车公里数,两个数之间用空格分隔。

输出说明

输出应付的车费,小数点后保留1位小数。

输入样例

2 23.1

输出样例

69.0

 

#include <stdio.h>
#include <math.h> 
#include <string.h>
#include <stdlib.h> 

int main()
{
	int fee, time;
	double km, money;  
	scanf("%d %lf", &time, &km);
	if(time<=6||time>=23){			//夜间 
		if(km<=3){					//3km以内 
			money = 9+1; 
		}
		else if(km>3&&km<=12){		//3-12km 
			money = 2.3*(km-3) + 9 + 1;
		}
		else{						//大于12km 
			money = 2.3*9+(km-12)*2.3*1.5+10;
		}
	} 
	else{							//日间 
		if(km<=3){					//3km以内 
			money = 9; 
		}
		else if(km>3&&km<=12){		//3-12km 
			money = 2*(km-3) + 9;
		}
		else{						//大于12km 
			money = 2*9+(km-12)*3+9;
		}
	}
	printf("%.1lf", money); 
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值