搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ [求助]出租车收费问题
标题:
[求助]出租车收费问题
只看楼主
nuciewth
来 自:我爱龙龙
等 级:
贵宾
威 望:
104
帖 子:9786
专家分:208
注 册:2006-5-23
结帖率:
50%
楼主
问题点数:0 回复次数:5
[求助]出租车收费问题
出租车收费问题.
刚开始的起步价(在4千米内)收费10元,接下来的4千米收费2元/KM,以后的路费就按2.4元/KM收费.
对输入的路程,使得乘客的发费最少,并且输出路费.(贪心问题,中途可以换别的车).
求收费规律.
搜索更多相关主题的帖子:
出租车
收费
路费
贪心
2006-07-23 10:36
redstar00
等 级:
新手上路
帖 子:26
专家分:0
注 册:2006-4-19
第
2
楼
得分: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
等 级:
新手上路
帖 子:26
专家分:0
注 册:2006-4-19
第
3
楼
得分:0
忘记写注释了,将就看吧,如果那有不妥之处,尽管提
2006-07-24 15:07
soft_wind
等 级:
新手上路
威 望:
8
帖 子:1430
专家分:0
注 册:2006-4-5
第
4
楼
得分:0
这个题是纯粹的数学题.与其编程不如拿支笔,拿张纸,哎
对不礼貌的女生收钱......
2006-07-24 15:17
redstar00
等 级:
新手上路
帖 子:26
专家分:0
注 册:2006-4-19
第
5
楼
得分:0
哈哈 斑竹说的是!我们牢记斑竹的教导!!!
2006-07-24 15:19
工藤♀新一
等 级:
新手上路
帖 子:140
专家分:0
注 册:2006-5-4
第
6
楼
得分:0
以下是引用
redstar00
在2006-7-24 15:19:01的发言:
哈哈 斑竹说的是!我们牢记斑竹的教导!!!
很高兴能和大家一起学习程序! QQ:114109098
2006-07-24 18:20
6
1/1页
1
参与讨论请移步原网站贴子:
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