关闭

【天梯-wikioi】1203 判断浮点数是否相等

标签: C语言天梯 - Wikioi
573人阅读 评论(0) 收藏 举报
分类:
 给出两个浮点数,请你判断这两个浮点数是否相等
 输入仅一行,包含两个浮点数
 输出仅一行,如果相等则输出yes,否则输出no。
 2.980000001 2.9800000000001
 yes

 我们一般认为两个浮点数相等,当且当他们之间的误差不超过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()函数是用来求浮点数的绝对值。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:32609次
    • 积分:759
    • 等级:
    • 排名:千里之外
    • 原创:43篇
    • 转载:3篇
    • 译文:0篇
    • 评论:8条
    公告
    博客专栏
    最新评论