为了账号安全,请及时绑定邮箱和手机立即绑定

不懂哪里错了


{

    float sum;

    sum=pay(9,12)+pay(18,12);

    printf("小明每天打车的总费用为%f\n",pay,distance,time);

    

}

#include <stdio.h>

double pay(int time,int distance)

{

    double pay;

    if(time<5||time>23)

{

    if(distance<=3)

    pay=14;

    else 

    pay=14+(distance-3)*2.3;

}

   else

   {

       if(diatance<=3)

       {

           pay=14;

       }

       else 

       pay=14+(distance-3)*2.3*1.2;

       }

      printf("pay=%f\n",pay);

      

   }

    

    

int main()


正在回答

2 回答

你这是弄反了吧,题目说明的是在 晚上23点(含)至次日凌晨5点(不含)打车,每公里单价计费加收20%,你的程序恰好是在这个时间段之外才多加20%。

0 回复 有任何疑惑可以回复我~
#1

曾小妍 提问者

非常感谢!
2016-04-13 回复 有任何疑惑可以回复我~

首先sum是float 而你函数返回的是double 无法自动转换,然后printf里你只设了一个参数 只要一个sum就够了。还有函数里两个时间搞反了,而且最后不是用printf返回值,是用return 返回pay。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       924449    人
  • 解答问题       20757    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

不懂哪里错了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信