题目描述 Description
给出两个浮点数,请你判断这两个浮点数是否相等
输入描述 Input Description
输入仅一行,包含两个浮点数
输出描述 Output Description
输出仅一行,如果相等则输出yes,否则输出no。
样例输入 Sample Input
2.980000001 2.9800000000001
样例输出 Sample Output
yes
数据范围及提示 Data Size & Hint
我们一般认为两个浮点数相等,当且当他们之间的误差不超过1e-8。
链接地址:http://wikioi.com/problem/1203/
正确的代码:
#include <stdio.h>
#include <math.h>
int main(void)
{
double a, b;
scanf("%lf %lf", &a, &b);
if(fabs(a-b)<=1e-8)
printf("yes\n");
else
printf("no\n");
return 0;
}
自己做的错误的代码:
#include <stdio.h>
int main()
{
float i, k;
scanf("%.10f %.10f", &i, &k);
if((i-k<=1e-8)||(k-i>=1e-8))
printf("Yes\n");
else
printf("No\n");
return 0;
}
心得:自己当时没做出来, 当时自己不知道这个fabs函数, 所以算了很久也没算出来。
fabs()函数是用来求浮点数的绝对值。