题意即为计算多边形的面积,计算几何中,最基本的求多边形面积的方法就是利用叉积来求多边形面积
#include<stdio.h>
typedef struct point
{
int x, y;
}point;
point a[110];
double area(point p, point q)
{
return p.x*q.y - q.x*p.y;
}
int main()
{
int i, n;
double sum;
while (~scanf("%d", &n) && n)
{
for (i = 0;i<n;i++)
scanf("%d %d", &a[i].x, &a[i].y);
sum = area(a[n - 1], a[0]);
for (i = 1;i<n;i++)
sum += area(a[i - 1], a[i]);
printf("%.1lf\n", 0.5*sum);
}
return 0;
}