天天看点

1112 三点共线

Description

给你平面上三个点的坐标,请判断三点是否共线。

输入

有多组样例,第一行是一个整数N(1<=N<=100),表示有多少个样例。每个样例占三行,每行是两个整数,X,Y(-1000<=X,Y<=1000),表示一个点的坐标。      

输出

每行输出一个样例的结果,如果三点共线,那么输出“Yes”,否则输出“No”。      

Sample Input

2

1 1

2 2

3 3

-1000 -1000

0 0

1000 999

Sample Output

Yes

No

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int n;
    scanf("%d",&n);
    while(n--)
    {
        int x1,x2,x3,y1,y2,y3;
        scanf("%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&x3,&y3);
        //利用三点共线性质来判断
        int a,b,c,d;
        a=abs(y1-y2);//abs()函数用来对整型变量求绝对值,abs()函数在头文件“stdlib.h”中
        b=abs(x1-x2);
        c=abs(y3-y2);
        d=abs(x3-x2);
        if(a*d==b*c)//判断
        {
            printf("Yes\n");
        }
        else
        {
            printf("No\n");
        }
    }
    return 0;
}      

继续阅读