C語言判斷浮點數相等的問題
#include"stdio.h"
main()
{
float c;
double la;
double lo;
float a=0.0039;
float d=-0.9347;
float b;
float f1;
float f2;
scanf("%lf",&la);
scanf("%lf",&lo);
if((fabs(la-65.079)<0.001)&&(fabs(lo-63.9775)<0.0001))
{
b=28.4;
f1=8.7;
f2=25.9;
}
c=b+a*f1+d*f2;
printf("%f",c);
}
這個程序有何問題?
最佳回答:
#include"stdio.h"
#include"math.h"
void main()
{
float c;
double la;
double lo;
double a=0.0039;
double d=-0.9347;
double b;
double f1;
double f2;
scanf("%lf",&la);
scanf("%lf",&lo);
if((fabs(la-65.079)<0.001)&&(fabs(lo-63.9775)<0.0001))
{
b=28.4;
f1=8.7;
f2=25.9;
}
c=b+a*f1+d*f2;
printf("%f",c);
}