|
发表于 2019-10-31 09:17:40
|
显示全部楼层
本帖最后由 yuweb 于 2019-10-31 16:16 编辑
你有几个地方可能逻辑有点问题
1、题目中要求结果四舍五入保留整数,price应该是整数,四舍五入
2、营运过程中,因路阻及乘客要求临时停车等待的,按每5分钟2元计费(不足5分钟不收费)
5分钟之内是不计费的,而6分钟的话应该就要算10分钟的价钱了(每5分钟2元计费),所以应该向上取整
3、mile没有限制正数
目前考虑到这些。不大完整的话自己补充
- #include <stdio.h>
- #include <math.h>
- int main()
- {
- int t,price;
- float mile;
- scanf("%f %d",&mile,&t);
- if(mile<0){
- printf("请输入正数!\n");
- return 0;
- }
-
- if (mile>=0 && mile <= 3)
- {
- if(t<5)
- price = 10;//不足5分钟不收费
- else
- price = int(10+ceil(t/5.0)*2);//ceil是代表向上取整,int是代表四舍五入取整
- printf("%d\n",price);
- }
- else if(mile>3 && mile<=10)
- {
- if(t<5)
- price = int(10+(mile-3)*2);//不足5分钟不收费
- else
- price = int(10+(mile-3)*2+ceil(t/5.0)*2);//ceil是代表向上取整,int是代表四舍五入取整
- printf("%d\n",price);
- }
- else
- {
- if(t<5)
- price = int(24+(mile-10)*3);//不足5分钟不收费
- else
- price = int(24+(mile-10)*3+ceil(t/5.0)*2);//ceil是代表向上取整,int是代表四舍五入取整
- printf("%d\n",price);
- }
- return 0;
- }
复制代码 |
|