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

请帮忙看看哪出问题了?

刚开始无从下手,看了下别人的,原来就是思路找不准,写完了后发现输出结果一直都是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;

}


提问者:大明Dm 2016-12-14 10:26

个回答

  • 正在学习呢
    2016-12-14 11:39:56
    已采纳

    本身解题没有逻辑错误,代码也对,只不过在最后的打车总费用应该在定义一个变量,这样才能出结果,我也不知道你这样为什么不行,因为之前我也这样做过,没结果,然后才想到多定义一个变量的;



    、、

    #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;

    }