View Code of Problem 67

#include<stdio.h>
int main()
{
	float x1,x2,x3,x4,y1,y2,y3,y4;
	while(scanf("%f%f%f%f%f%f%f%f",&x1,&y1,&x2,&y2,&x3,&y3,&x4,&y4)!=EOF)
    {
        if(x1==x2&&x3==x4)//斜率无穷
        {
            if(x1==x2)//重合
                printf("Yes\n");
            else
                printf("No\n");
        }
        else
        {
            float k1,k2,b1,b2;
            k1=(y2-y1)/(x2-x1);
            k2=(y4-y3)/(x4-x3);
            b1=y1-k1*x1;
	    b2=y3-k2*x3;
            if(k1==k2&&b1!=b2)//斜率相等不重合
               printf("No\n");
            else if(k1==k2&&b1==b2)//斜率相等且重合
               printf("Yes\n");
            else//斜率不等
               printf("Yes\n");
        }
    }
	return 0;
}

Double click to view unformatted code.


Back to problem 67