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