void main()
{
float x1,x2,x3,y1,y2,y3,a,b,c
printf("请输入3个坐标,x1,x2,x3,y1,y2,y3\n")
scanf("%f,%f,%f,%f,%f,%f",&x1,&x2,&x3,&y1,&y2,&y3)
a*x1+b*y1+c==0
a*x2+b*y2+c==0
a*x3+b*y3+c==0
printf("a=%f\nb=%f\nc=%f\n",a,b,c)
}
//你的ax+by+c=0好像是无解的,就这样的格式编写吧
这里需要知道一个隐含的条件:ax+by+c=0是一条直线。两点确定一条直线,所以这里需要充分利用这两条来求直线。表示直线的方式有好多种,ax+by+c=0只是其中之一。因为已经知道两点的坐标,我们采用两点式来表示直线。
令:(x0,y0)=(0, 0), (x1,y1)=(1,2)
则直线方程为:(y-y0)/(y0-y1)=(x-x0)/(x0-x1)
代入(y-0)/(0-1) = (x-0)/(0-2)
整理之后,得到直线方程:x - 2y = 0
所以a=1, b=-2, c=0方程直线为x - 2y.