C语言循环与判断语句案例:出租车打表计价问题

问题描述

打车计价器:起步价8元(3公里),每公里1.8元。
不足半公里按半公里计价。
大于半公里按一公里计价。
输入路程,输出路线。

代码如下:

#include<stdio.h>
int main()
{
	double a,b,c;
	int i;
	printf("请输入路程:\n");
	scanf("%lf",&a);
	
	//这里写一个循环获得公里数的小数c
	for(i=0;i<a;i++)
	{
		c = a-i;
	}
	
	//下面是一个判断语句的嵌套,外层的判断语句,判断公里数是否超过三公里并输出相应的车费。
	
	if(a <= 3&&a>0)
		  printf("路程 = %.1f公里,价钱 = 8元",a);
	else
	    {
	    //内层判断语句判断小数部分的公里数是否大于0.5
		    if(c>0.5) 
			
			  b = 8 + (i-3)*1.8;
					
		   	else
			  b = 8 + (i-4)*1.8;
			 printf("路程 = %.1f公里,价钱 = %.1f元",a,b);
		}
	
	return 0 ;

} 

输出结果如下:

请输入路程:
3.6
路程 = 3.6公里,价钱 = 9.8元

Process exited normally.
Press any key to continue . . .

可以心算验证下结果:因为超过3公里所以
总价格=起步价+行驶路程价格
又因为起步价为8元公里数小数部分为0.6则按1公里收费为1.8元
总价格 = 8 +1.8 = 9.8元。
由此可知结果正确。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值