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

为什么我的答案是69.400002,不是69.400000

#include <stdio.h>
#include <stdlib.h>
float ABC(int s,int c)
{
    float money,sum;
    if(s>=5&&s<23)
    {
        if(c<=3)
        {
            money=13;
        }
        else
        {
            money=13+2.3*(c-3);
        }
    }
    else
    {
        if(c<=3)
        {
            money=13;
        }
        else
        {
            money=13+2.3*(1+0.2)*(c-3);
        }
    }
    sum=money+1;
    return sum;
}
int main()
{
    float P;
    P=ABC(9,12)+ABC(18,12);
    printf("需要花费%f元",P);
    return 0;
}

提问者:除却巫山也是云 2018-12-11 20:56

个回答

  • Axis001
    2019-08-14 15:28:47

    计算机存储问题,float字符型小数点末尾数会存在偏差(随机值)