读书人

c语言求三点是否共线代码如下求解

发布时间: 2013-03-26 09:54:34 作者: rapoo

c语言求三点是否共线,代码如下,求解哪里错误
#include "stdio.h"
main()
{
double a1,a2,b1,b2,c1,c2,k1,k2;
scanf("%f%f",&a1,&a2);
scanf("%f%f",&b1,&b2);
scanf("%f%f",&c1,&c2);
k1=(c2-b2)*(b1-a1);
k2=(c1-b1)*(b2-a2);
if (k1==k2)
printf("YES\n");
if (k1!=k2)
printf("NO\n");

}
是学校的在线测试题,提交不正确,谁能找出哪里错误,或者给我一个使程序错误的数据,谢谢
[解决办法]
如果b1==a1或b2==a2,测程序出现除0错误
[解决办法]
还有个错误,double型比较不能用 ==

一般写成类似这样 if ( a - b >= -0.000001 && a - b <= 0.00001) {}


[解决办法]

引用:
还有个错误,double型比较不能用 ==

一般写成类似这样 if ( a - b >= -0.000001 && a - b <= 0.00001) {}

++

读书人网 >C语言

热点推荐