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

谁能救救我,大神

#include<stdio.h>

void main()
{
    float sum(int h,int ODO);
    int c,i,xh,xODO;
    float zsum=0,s;
    printf("请输入做了几次车:\n");
    scanf("%d",&c);
    c++;
    for(i=1;i<c;i++)
    {
        
        printf("请输入第%d次的时间和路程:",i);
        scanf("%d %d",&xh,&xODO);
        s=sum(xh,xODO);
        zsum=zsum+s;
        
    }
    printf("总共花了%d",zsum);

}

float sum(int h,int ODO)
{
    float PI=2.3,ZF=0.2;
    int FF=13,BS=1;
    float he;
    if(h>=5&&h<23)
    {
        if(ODO>3)
        {
            he=(ODO-3)*PI+BS+FF;
        }
        else
        {
            he=BS+FF;
        }    
    }
    
    
        if(h>23&&h<=24||h>0&&h<5)
        {
            if(ODO>3)
            {
                he=(ODO-3)*(1+ZF)*PI+BS+FF;
            }
            else
            {
                he=BS+FF;
            }
            
        }
    return he;
}

提问者:weibo_溪林菁菁_0 2016-04-13 21:36

个回答

  • 慕前端1399819
    2016-04-14 13:29:21
    已采纳

    错因:main函数里面最后那个printf函数里,应该是%f,而不是%d。

  • qq_一梦浮生丶_0
    2016-05-05 14:45:00

    #include <stdio.h>


    int Charge(int t,int m)

    {

        float sum;  //打车费

        const float p = 2.3;  //单价

        const float q = 13; //起步价

        if(m <= 3)  //判断距离m<=3时的2种情况。

        

        {

            if(5<t || t<23)

        

            {   sum =q ;

                sum ++;

            

                return  sum;

            }

            else

        

            {    sum = q + m*0.2*p;

                sum ++;

                return sum;

                

            }

        }

        if(m >3) //判断距离m>3时的2种情况。

        {

            if(5<t || t<23)

        

            {   sum =q + p * (m-3);

                sum ++;

                return  sum;

            }

            else

        

            {    sum = q + p * (m-3) +  p * 0.2 * m;

                sum ++;

                return sum;

            }       

                

        }  

           

    }


    int main()

    {

        int x = 9;

        int y = 6;

        int z = 12;

        float am = Charge(x,z);

        float pm = Charge(y,z);

        float money = am + pm;

        printf("小明每天的打车的总费用是:%.2f\n",money);

        return 0;

    }

    这是写的,上面有注视,理解了倒不是很难,希望能帮助你!!!

  • weibo_溪林菁菁_0
    2016-04-19 20:19:49

    再没得到你的回答之前,我用了两天找到了这个错误