CODE[VS]-判断浮点数是否相等-浮点数处理-天梯青铜

题目描述 Description
给出两个浮点数,请你判断这两个浮点数是否相等
输入描述 Input Description
输入仅一行,包含两个浮点数
输出描述 Output Description
输出仅一行,如果相等则输出yes,否则输出no。
样例输入 Sample Input
2.980000001 2.9800000000001
样例输出 Sample Output
yes
数据范围及提示 Data Size & Hint
我们一般认为两个浮点数相等,当且当他们之间的误差不超过1e-8。
 
思路:有由于是浮点数,需要精确比较,可以拿两个浮点数相减取绝对值与1e-8比较,如果小于等于这个精确位数,即这两个浮点数相等
 
代码如下:
 1 #include <stdio.h>
 2 #include <math.h>
 3 int main()
 4 {
 5     double a,b;
 6     scanf("%lf%lf",&a,&b);
 7     if(fabs(a-b)<=1e-8)//fabs是取绝对值
 8     {
 9         printf("yes
");
10     }
11     else if(a!=b) printf("no
");
12     return 0;
13 } 
原文地址:https://www.cnblogs.com/geek-007/p/5671619.html