叉乘公式
注意别加绝对值,左旋和右旋的正负不一样,面积的加减不一样,否则会有重复的
`
#include<stdio.h>
#include<math.h>
int main(void)
{
int n,i,j;
double x[105][3],x1,y1,a,b,c,d;
while(scanf("%d",&n)!=0)
{
double ans=0;
if(n==0)
break;
scanf("%lf %lf",&x1,&y1);
for(i=1;i<n;i++)
{
for(j=0;j<2;j++)
{
scanf("%lf",&x[i][j]);
}
}
for(i=1;i<n-1;i++)
{
a=x[i][0]-x1;
b=x[i][1]-y1;
c=x[i+1][0]-x1;
d=x[i+1][1]-y1;
ans+=a*d-b*c;
}
printf("%.1lf\n",ans/2);
}
return 0;
}
`