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

搞不懂,求大佬,谢谢

为什么运行错误呢?谢谢大佬

#include <stdio.h>

float money(int mild,int tim)

{

    float fee

    if(mild<=13)

    {

      fee=14;

     

    }

    else(mild>13)

    {

        if(tim>=23&&tim<5)

        {

           fee=((mild-13)*2.3)*1.2+14;

            

            

            

        }

        else(tim>=5&&tim<23)

        {

            fee=(mild-13)*2.2+14;

            

            

        }

    }

    return fee;    

}




int main()

{

    printf("小明需要花费%f.",money(12,9)+money(12,18));

    return 0;

}

提问者:SOBER康 2018-08-24 23:18

个回答

  • 修裾欲溯空
    2018-08-25 08:59:30
    已采纳

    //你的float 那个语句后面没分号,然后else后面是没有条件的,如果你要加个条件的话,就用else if,
    #include <stdio.h>
    float money(int mild,int tim)
    {
        float fee;
        if(mild<=13)
        {
          fee=14;
        }
        else if(mild>13)
        {
            if(tim>=23&&tim<5)
            {
               fee=((mild-13)*2.3)*1.2+14;
            }
            else if (tim>=5&&tim<23)
            {
                fee=(mild-13)*2.2+14;
            }
        }
        return fee;
    }
    int main()
    {
        printf("小明需要花费%f.",money(12,9)+money(12,18));
        return 0;
    }


  • 要死综合征晚期
    2018-08-25 09:05:37

    float money(int mild,int tim)   //这个参数 mild 定义的是什么,我觉得你想定义的是路程。

    fee=(mild-13)*2.2+14

     fee=((mild-13)*2.3)*1.2+14  //这两个公式都是想表达mild为路程吧。而且为什么一个*2.2,另一个*2.3呀,笔误了吧。

    但是

        if(mild<=13)  // 13是3公里的起步价,是一个价格。你用mild - 13,是用距离(公里)- 价格(元)??

    这里是不是和你最开始定义的参数含义不符合了。我猜你想写的应该是if(mild <= 3)吧。后面也一样。