如何用C语言已知两点坐标求直线方程?

如何用C语言已知两点坐标求直线方程?
如题 求大神解答 谢谢!!!

需要分3个情况,一个是x1==x2&&y1==y2,那么有无数多解
如果x1==x2,和y轴垂直,斜率无穷大,不能表示为方程。
其余情况,k = (y2-y1)/(x2-x1) 方程就是 y-y1=k * (x-x1)

#include
void main(int argc, char *argv[])
{
float x1,y1;
float x2,y2;
float k;

printf("请输入第一个坐标点(空格隔开):");
scanf("%f%f",&x1,&y1);
printf("请输入的第二个坐标点(空格隔开):");
scanf("%f%f",&x2,&y2);


k=(y2-y1)/(x2-x1);
printf("直线方程为:y=%f*(x-%f)+%f\n",k,x1,y1);

}