判断点是否在一条直线上

Kuangyeyes Game

http://www.nowcoder.com/questionTerminal/da739672f98c436b9cfd56f5cf17b7c4

利用斜率可求得,每次判断三个点的两个斜率是否相等。
图片说明

#include<stdio.h>
#include<math.h>
int main()
{
    int m,n,i,j,t,x,y,a,b,c,d,f=0;
       scanf("%d %d %d",&n,&a,&b);
    scanf("%d %d",&c,&d);
    for(i=3;i<=n;i++){
        scanf("%d %d",&x,&y);
        if((y-b)*(c-a)!=(d-b)*(x-a)){
            printf("No");
            return 0;
        }
    }    
    printf("Yes");
    return 0;
}
全部评论
它的最后一句话说两个点可能是同一个,即第一个和第二个点为一样的时候,这种斜率求法不成立,还是我理解错误?如有错误请指正。
点赞 回复 分享
发布于 2020-01-12 18:00

相关推荐

不愿透露姓名的神秘牛友
11-27 10:52
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务