#include <stdio.h>float taxitee(int t,int d){ float money; if(t>=5&&t<=23) { if(d<=3) { money=14; printf("打车费用是%s元",money); return 14; } else { taxitee=13+2.3*(d-3)+1; printf("打车费用是%s元",money); return money; } } else if(t<=5&&t>=23) { if(d<=3) { money=14; printf("打车费用是%s元",money); return 14; } } else { money=13+2.3*1.2*(d-3)+1; printf("打车费用是%s元",money); return money; }}int main(){ printf("小明每天打车总费用:%f",taxitee(9,12)+taxitee(18,12)); return 0; }
1 回答
已采纳
onemoo
TA贡献883条经验 获得超454个赞
既然你说是报编译错误,那应该是有语法错误:
if(d<=3) 这个 if 的 else 中,你写了 taxitee=13+2.3*(d-3)+1; 看起来你想写 money 吧?却错写成了 taxitee。taxitee 是函数名,放在等于号左侧自然就错了。
除了上面的语法错误。 虽然你的代码我没有细看,但有一处明显的逻辑问题:
else if(t<=5&&t>=23) 这里条件中你用了逻辑与&&,这表示的条件是“t 既小于等于 5 又大于等于 23”,显然是不可能的,显然这个分支永远不会进入。 也许你应该用逻辑或||。
- 1 回答
- 0 关注
- 1307 浏览
添加回答
举报
0/150
提交
取消