刚开始无从下手,看了下别人的,原来就是思路找不准,写完了后发现输出结果一直都是0.
#include <stdio.h>
int carcost(int t,int h)
{
float money;
if(h<=3)
{
money=14;
printf("费用为%f\n",money);
}
else
{
if(t>=5&&t<23)
{
money=14+2.3*(h-3);
printf("费用为%f\n",money);
}
else
{
money=14+2.76*(h-3);
printf("夜间费用为%f\n",money);
}
}
return money;
}
int main()
{
printf("打车总费用为%f\n",carcost(9,12)+carcost(18,12));
return 0;
}
本身解题没有逻辑错误,代码也对,只不过在最后的打车总费用应该在定义一个变量,这样才能出结果,我也不知道你这样为什么不行,因为之前我也这样做过,没结果,然后才想到多定义一个变量的;
、、
#include <stdio.h>
float carcost(int t,int h)
{
float money;
if(h<=3)
{
money=14;
printf("费用为%f\n",money);
}
else
{
if(t>=5&&t<23)
{
money=14+2.3*(h-3);
printf("费用为%f\n",money);
}
else
{
money=14+2.76*(h-3);
printf("夜间费用为%f\n",money);
}
}
return money;
}
int main()
{
float total;
total=carcost(9,12)+carcost(18,12);
printf("打车总费用为%f\n",total);
return 0;
}