问题描述
打车计价器:起步价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元。
由此可知结果正确。