标题:[求助]出租车收费问题
只看楼主
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
结帖率:50%
 问题点数:0 回复次数:5 
[求助]出租车收费问题
出租车收费问题.
刚开始的起步价(在4千米内)收费10元,接下来的4千米收费2元/KM,以后的路费就按2.4元/KM收费.
对输入的路程,使得乘客的发费最少,并且输出路费.(贪心问题,中途可以换别的车).


求收费规律.
搜索更多相关主题的帖子: 出租车 收费 路费 贪心 
2006-07-23 10:36
redstar00
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-4-19
得分:0 
如果路程大于0小于等于13的话,不用换车
如果路程大于13的话 就需要换车 才能保证花费最少;
#include<stdio.h>
void main()
{
int s;
float a(int dis);
float sum;
printf("please input distants s:\n");
scanf("%d",&s);
if(s>0&&s<=13)
{
sum=a(s%13);
printf("%0.2f",sum);
}
else if(s>13)
{
if(s%8>5&&s%8<=7||s%8==0)
{
sum=s/8*18+a(s%8);
printf("%0.2f",sum);
}
else
{
sum=(s-8)/8*18+a(s%13);
printf("%0.2f",sum);
}
}
}
float a(int dis)
{
float sum;
if(dis==0)
{
sum=0.00;
}
if(dis>0&&dis<=4)
{
sum=10.0;
}
if(dis>4&&dis<=8)
{
sum=10+(dis-4)*2;
}
if(dis>8&&dis<13)
{
sum=(float)(18+(dis-8)*2.4);
}
return(sum);
}
2006-07-24 15:06
redstar00
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-4-19
得分:0 
忘记写注释了,将就看吧,如果那有不妥之处,尽管提
2006-07-24 15:07
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
得分:0 

这个题是纯粹的数学题.与其编程不如拿支笔,拿张纸,哎


对不礼貌的女生收钱......
2006-07-24 15:17
redstar00
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-4-19
得分:0 

哈哈 斑竹说的是!我们牢记斑竹的教导!!!

2006-07-24 15:19
工藤♀新一
Rank: 1
等 级:新手上路
帖 子:140
专家分:0
注 册:2006-5-4
得分:0 
以下是引用redstar00在2006-7-24 15:19:01的发言:

哈哈 斑竹说的是!我们牢记斑竹的教导!!!


很高兴能和大家一起学习程序! QQ:114109098
2006-07-24 18:20



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-79799-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.138308 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved