码迷,mamicode.com
首页 > 其他好文 > 详细

double 与0比较时有个精度问题,有时需精确到小数点后面几位,例如与>0.0001,而不能与>0比较

时间:2014-08-13 14:47:36      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:os   io   问题   ios   sp   return   杭电   c   

double 与0比较时有个精度问题,有时需精确到小数点后面几位,例如与>0.0001,而不能与>0比较


例如杭电1408
盐水的故事
ac
#include<iostream>
using namespace std;
int main()
{
    double vul,d;
    int sum;
    int n;
    while(cin>>vul>>d)
    {
        sum=0;
        n=1;
        while(vul>d*n)
        {
            sum=sum+n+1;
            vul=vul-d*n;
            n++;
        }
        while(vul>0.001)//此处最小精度得>0.001,不能为while(vul>0)
        {
            vul=vul-d;
            sum++;
        }
        cout<<sum<<endl;
    }    
 return 0;
}
盐水的故事
ac
#include<iostream>
using namespace std;
int main()
{
    double vul,d;
    int sum;
    int n;
    while(cin>>vul>>d)
    {
        sum=0;
        n=1;
        while(vul>d*n)
        {
            sum=sum+n+1;
            vul=vul-d*n;
            n++;
        }
  int k=vul/d;
        sum=sum+k;
        if((vul/d)-k < 0.000001) ;
        else 
            sum=sum+1;
        /*while(vul>0)
        {
            vul=vul-d;
            sum++;
        }*/
        cout<<sum<<endl;
    }    
 return 0;
}

double 与0比较时有个精度问题,有时需精确到小数点后面几位,例如与>0.0001,而不能与>0比较,布布扣,bubuko.com

double 与0比较时有个精度问题,有时需精确到小数点后面几位,例如与>0.0001,而不能与>0比较

标签:os   io   问题   ios   sp   return   杭电   c   

原文地址:http://www.cnblogs.com/bofengyu/p/3909975.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!