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

请问我的计算结果为什么是138.00000而不是138.80000

#include <stdio.h>

int main()

{

    float spend;

    spend=cost(12, 9 ,18);

    printf("%f",spend);

    return 0;

}

float cost(int x ,int y1, int y2)

{

    float sum=0.0;

    if(x<=3)

    {

        sum=(13+1)*4;

    }

    else if((y1>=23||y1<5)&(y2>=23||y2<5))

    {

        sum=(14+(x-3)*2.3*1.2)*4;

    }

    else if((y2>=23||y2<5)&(y1>=23||y1<5))

    {

        sum=(14+(x-3)*2.3)*2+(14+(x-3)*2.3*1.2)*2;

    }

     else if((y1>=23||y1<5)&(y2>=23||y2<5))

    {

        sum=(14+(x-3)*2.3)*2+(14+(x-3)*2.3*1.2)*2;

    }

    else

    {

        sum=(14+(x-3)*2.3)*4;

    }

    return sum;

}


提问者:思路一般 2018-09-26 20:09

个回答

  • qq_活在当下_29
    2018-11-26 04:06:28

    前面的int导致取整数,float使保留小数