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

来源:5-14 综合练习

思路一般

2018-09-26 20:09

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

}


写回答 关注

1回答

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

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

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926866 学习 · 21014 问题

查看课程

相似问题