由于double浮点数的精度问题,所以在比较大小的时候,不能像int整数型那样,直接if(a==b),if(ab)。要使用一个精度EPS:const double EPS = 1e-6; //一般这样子就够,但有时具体题目要考虑是否要更小的 ;if(fabs(a-b) < EPS) //判断是否相等 ;if(a > b+EPS) // 判断a是否...
double a[15]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},i,n,b,k;【注意】后面的i,n,k应该是int类型的。include<stdio.h> int main(){ double a[15]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},b;//a和b是double类型 int i,n,k;//其他的是int类型 printf("输...
double类型数据存储的数据是不精确的存储,如0.1可能是0.0999999。。。这是由于计算机表示浮点数的方法造成的精度缺陷,所以,在比较时,一般通过判断两数差与一个精度值的大小,来确定两数的大小,这个精度值由使用者根据情况自行确定,如,你这代码中的1e-6 ...