#include
int main()
{
int x1,x2,y1,y2;
int a,b,c;
int x3,x4,y3,y4,c1,c2;
scanf("%d%d%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&x3,&y3,&x4,&y4);
a=y2-y1;
b=x1-x2;
c=x1*y2-y1*x2;
c1=a*x3+b*y3;
c2=a*x4+b*y4;
if(c1>=c && c2>=c)
printf("YES");
else if(c1<c && c2<c)
printf("YES");
else
printf("NO");
return 0;
}
#include
int main()
{
int x1,x2,y1,y2;
int a,b,c;
int x3,x4,y3,y4,c1,c2;
scanf("%d%d%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&x3,&y3,&x4,&y4);
a=y2-y1;
b=x1-x2;
c=x1*y2-y1*x2;
c1=a*x3+b*y3;
c2=a*x4+b*y4;
if(c1>c && c2>c)
printf("YES");
else if(c1<c && c2<c)
printf("YES");
else
printf("NO");
return 0;
}
应该没有错,你那个也可怡运行吧,哪里错你都没有描述
我做了一下
#include <stdio.h>
typedef struct point {
int x;
int y;
} point;
int main() {
printf("Hello, World!\n");
point p[4];
for (int i = 0; i < 4; ++i) {
scanf("%d%d", &p[i].x, &p[i].y);
}
int a = p[0].y - p[1].y;
int b = p[0].x - p[1].x;
int c = p[0].x * p[1].y - p[1].x * p[0].y;
int c1 = a * p[2].x + b * p[2].y - c;
int c2 = a * p[3].x + b * p[3].y - c;
if (c1 * c2 >= 0) {
printf("YES");
} else {
printf("NO");
}
return 0;
}