以文本方式查看主题

-  课外天地 李树青  (http://www.njcie.com/bbs/index.asp)
--  C语言程序设计  (http://www.njcie.com/bbs/list.asp?boardid=29)
----  一道关于浮点数精度的问题  (http://www.njcie.com/bbs/dispbbs.asp?boardid=29&id=1621)

--  作者:admin
--  发布时间:2015/12/28 17:36:44
--  一道关于浮点数精度的问题

啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。

我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。

注意:答案是一个整数

 

int main()
{
    int i=0,j=0;
    for(i=1; i*2.3<=82.3; i++)
        for(j=i+1; i*2.3+j*1.9<=82.3; j++)
        {
            if(i*2.3+j*1.9>=82.3-0.000001&&i*2.3+j*1.9<=82.3+0.000001)
                printf("%d %d\\n",i,j);
        }
    return 0;
}

大家想一想,为什么要加减0.000001来限定一个很小的范围呢?