#include <stdio.h>
int bianTai(int t,int d)
{
float a=2.3;
float sum;
if(d<=3)
{
sum=13+1;
}
else if(23<=t||t<5)
{
sum=(d-3)*a*1.2+13+1;
}
else
{
sum=(d-3)*a+13+1;
printf("小明每天打车的总费用为%.1f元\n",sum);
}
return sum;
}
int main()
{
float money=bianTai(9,12)+bianTai(18,12);
printf("打的总费用:%.1f\n",money);
return 0;
小明每天打车的总费用为34.7元 小明每天打车的总费用为34.7元 打的总费用:68.0
呃。楼主是想问自己得到的结果为什么是68.0而别人是69.4咩?。。。。
如果是这个问题是因为你自定义函数的时候你设置的返回值类型为int。比如这个你的返回值是34但是别人的float返回值是34.700001(忘了具体数值了)。结果就有这么一点点不一样了。
至于楼上那个要不要减去3,看个人理解了 = =。这题目自己不说清楚怪谁= =
题意中说的事起步价就是13,所以你自建的第一个函数中的的d不应该减3,应该是sum=d*a*1.2+13+1;sum=d*a+13+1;