问答详情
源自:5-14 综合练习

学霸看看有什么问题?

#include <stdio.h>

double price(int hours,int distance)

{

   double taxiprice=0.0;

   double start=13;

   double everydistance=2.3;

   if(hours<0||hours>24)

   {

       printf("请输入正确时间\n");

       return 0;

   }

   else if(hours>=5&&hours<23)

   {

       if(distance>3)

       {

           taxiprice=start+(distance-3)*everydistance;

       }

       else

       {

           taxiprice=start;

       }

   }

   else

   {

       if(distance>3)

       {

           taxiprice=start+(distance-3)*everydistance*1.2;

       }

       else

       {

           taxiprice=start;

       }

    taxiprice++;

    return taxiprice;   

   }

   int main()

   {

       int moring=9;

       int afternoon=18;

       int distance=12;

       double taxiprice=0.0;

       taxiprice=price(moring,distance)+price(afternoon,distance);

       printf("小明每天打车总费用:%f\n",taxiprice);

       return 0;

   }

}


提问者:奋球 2017-08-04 08:44

个回答

  • 慕粉4079424
    2017-08-04 17:59:19
    已采纳

    1. main函数结尾多了一个括号,price函数结尾少了一个括号,这导致这段代码编译时就出错。2. 应该在else if结束前加一个return taxiprice,或者在函数price结尾加return,源代码输出价格为0就是因为函数没有正确返回值。