十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1 刚编写完的,徒手编写,没在编译器上跑,你跑下试试吧。
从事雅安服务器托管,服务器租用,云主机,网络空间,域名注册,CDN,网络代维等服务。
2 我对超8公里的理解是 起步3公里+超过的总共是8公里,如果理解的不对,把第1个函数第二和第3个语句 if里的8改成11就可以了。
3 我对输入的公里 和 分钟都定义成整型了,比如输入3.2,默认为3公里或者3分钟,因为我印象里出租车跑不够整公里,就不加钱。如果你那里要求跑3.2公里就收3.2公里的钱的话,把主函数里对l和d 的定义改下,改double,子函数也得稍做变化,不过我觉得应该不用改,反正真实的出租车就是这么收费的。
4 下面是代码:
有点长,不过附带判断输入数据的功能,比如输入负数,字母什么的,都没关系,所以长了点
#include stdio.h
int main()
{
int d,l,q;
double q1,q2,Q,x;
printf("请输入您行驶里程(公里):\n");
for(;;){
scanf("%d",l);
scanf("%*[^\n]");
scanf("%*c");
if(l=0) {printf("您输入的有误,请重新输入您的行驶里程(公里):\n");}
else break;}
printf("请输入您等待的时间(分钟):\n");
for(;;){
scanf("%d",d);
scanf("%*[^\n]");
scanf("%*c");
if(d0) {printf("您输入的有误,请重新输入您的等待时间(分钟):\n");}
else break;}
q1=f1(l);
q2=f2(d);
Q=q1+q2;
q=(int)Q;
x=Q-q;
if(x=0.5) q=q+1;
printf("请您支付 %d(元)车费\n",q);
return 0;
}
double f1(int l)
{
double q;
if(l=3){
return 6.0;}
else if(l=8){
q=(l-3)*1.8+6;
return q;}
else{
q=(l-8)*2.7+5*1.8+6;
return q;}
}
double f2(int d)
{
double q;
int l;
l=d/5;
q=l*1.8;
return q;
}
“每5分钟按1公里租费”这里的1公里租费你没有说清,我按照2元每公里算的,程序如下:
#include
"stdio.h"
int
main(int
argc,
char*
argv[])
{
int
length,time,sum;
start:
printf("请输入行驶里程(公里):");
scanf("%d",length);
printf("请输入等待时间(分钟):");
scanf("%d",time);
if(length0||time0)
{
printf("行驶里程和等待时间不能为负数!\n");
goto
start;
}
else
if(length=3)
{
sum=10;
}
else
if(length=13)
{
sum=10+(length-3)*2;
}
else
sum=10+10*2+(length-13)*3;
sum=sum+(int)(time*(0.4));
//等待的每分钟0.4元
printf("乘客应支付的车费(元):\t%d\n",sum);
return
0;
}
本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:
起步里程为3公里,起步费10元;
超起步里程后10公里内,每公里2元;
超过10公里以上的部分加收50%的回空补贴费,即每公里3元;
营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费 )。
输入格式:
输入在一行中给出输入行驶里程(单位为公里,精确到小数点后1位)与等待时间(整数,单位为分钟),其间以空格分隔。
输出格式:
在一行中输出乘客应支付的车费(单位为元),结果四舍五入,保留到元。
输入样例1:
2.6 2
输出样例1:
10
输入样例2:
5.1 4
输出样例2:
14
输入样例3:
12.5 9
输出样例3:
34
代码:
#include stdio.h
#include math.h
int main(void)
{
double s,t,p1,p2;
int p;
scanf("%lf%lf", s,t);
if (s=3)
{p1=10;}
else if(s3 s=10) {p1=10+2*(s-3);}
else p1=24+3*(s-10);
if (t5) {p2=0;}
else p2=0.4*t;
p=(int)(p1+p2+0.5);
printf("%d\n",p);
return 0;
}
#include stdio.h
#include stdlib.h
#include math.h
int main(void)
{
float A,y;
int x;
printf("请输入行车里程:\n");
scanf("%f",A);
x = (int)A+1;
if(x3) printf("应付车款 10 元.");
if(3=x x8) y=10+1.6*(x-3);
printf("应付车款 %.2f 元",y);
if(8 = x) y=10+2.2*(x-3);
printf("应付车款 %.2f 元",y);
return 0;
}
帮你编译过了,你看下
#includestdio.h//我是按超出2.5公里后每公里一元计算的。
main()
{
int time;
double value,a;
printf("请输入乘坐出租车的时间和行走公里数(注:时间为整数。):");
scanf("%d%lf",time,a);
while(time=0||a=0)
{
printf("输入错误,请重新输入:");
scanf("%d%d",time,a);
}
if(time=3)
value=5;
if(time3time%3==0)
value=5+(time-3)/3*2;
if(time3time%3!=0)
value=5+(time-3)/3*2+2;
if(a=2.5);
else
value=(a-2.5)*1+value;
printf("应收金额为%.2lf\n",value);
}