问答详情
源自:5-14 综合练习

下载的源码怎么理解

#include <stdio.h>
double getTaxiPrice(int hours,int distance)
{
	double totalPrice = 0.0;	//定义打车费用 
	double perPrice = 2.3;	//定义每公里单价计费 
	int startPrice = 13;	//定义起步价 

	if(hours<0 || hours>24){
		printf("请填写正确的时间\n");
		return 0;
	}
	else if(!(hours>=5 && hours<23))	//判断打车时间是否要增加费用
	{
		perPrice *= 1.2;	//费用增加20%                         
	}
	if(distance >3)		//判断公里数
	{
		totalPrice = startPrice +(distance - 3)*perPrice;	//计算价钱
	}
	else
	{
		totalPrice = startPrice;    
	}
	totalPrice++;	//加一块钱的燃油费
	return totalPrice;
}
int main()
{
	int moring = 9;	//定义上午打车时间
	int afternoon = 18;	//定义下午打车时间
	int distance = 12;	//定义打车公里数
	double totalPrice = 0;	//定义总费用
	if(getTaxiPrice(moring,distance) != 0)
	{
		totalPrice = getTaxiPrice(moring,distance);	//调用计算费用的函数
	}
	else if(totalPrice != 0)
	{
		totalPrice += getTaxiPrice(afternoon,distance);	//调用计算费用的函数
	}
	printf("小明每天打车的总费用是:%.2f\n",totalPrice);	//输出
	return 0;    
}

比如第12行else if(!(hours>=5 && hours<23))这个感叹号是什么意思?

另外这个语句得出的结果是34元,正确答案好像是69诶

提问者:Magic振宏2013蓄势待发 2015-09-09 12:36

个回答

  • 會記得一年後
    2015-11-14 17:04:00

    同问!

  • Magic振宏2013蓄势待发
    2015-09-09 12:42:46

    12行感叹号我明白了,最后那个主函数中if 条件句和else if条件句怎么理解??