道友们好,今天我碰到一道让我头疼的题目,这里我把他分享给大家
本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:
- 起步里程为3公里,起步费10元;
- 超起步里程后10公里内,每公里2元;
- 超过10公里以上的部分加收50%的回空补贴费,即每公里3元;
- 营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。
输入格式:
输入在一行中给出输入行驶里程(单位为公里,精确到小数点后1位)与等待时间(整数,单位为分钟),其间以空格分隔。
输出格式:
在一行中输出乘客应支付的车费(单位为元),结果四舍五入,保留到元。
我在四舍五头疼了很久,因为我不知道如何去四舍五入,于是我去了百度得到了几种方法
1)
我们知道%.n即保留n位小数,并对舍去的第一位小数进行四舍五入,所以如果我们想对一个小数四舍五入为整数的话,直接写成%.0f即可
2)
有的编译器可以直接用Math.h中的round()函数
3)
对于保留到整数,可以加上0.5,然后强制取整
对于这道题,我用的是第3种方法
#include <stdio.h>
#include<stdlib.h>
void main()
{
float s,y;
int x;
scanf("%f%d",&s,&x);
if(s<=3)
{
y=10+(x/5)*2+0.5;
}
if(s>3&&s<=10)
{
y=(10+(s-3)*2+0.5)+(x/5)*2;
}
if(s>10)
{
y=24+(x/5)*2+3*(s-10)+0.5;
}
printf("%d",(int)y);}