```c
#include <stdio.h>
#include <math.h>
//已知多边形各点坐标,求多边形面积
int main()
{
int n,i,x1,x2,x3,y1,y2,y3,a[100],b[100];
double s;
while(~scanf("%d",&n))
{
if(n==0)
break;
for(i=1;i<=n;i++)
scanf("%d%d",&a[i],&b[i]);
s=0;
for(i=1;i<=(n-2);i++)//因为a[i+2],b[i+2],要在范围内
{
x1=a[1];
y1=b[1];
x2=a[i+1];
y2=b[i+1];
x3=a[i+2];
y3=b[i+2];
s+=(x1*y2-x2*y1+x2*y3-x3*y2+x3*y1-x1*y3)*0.5;
}
printf("%.1lf\n",s);
}
return 0;
}
//(1)将多边形分成多个三角形,这些三角形有一个公共的顶点(x1,y1);
(2)采用多边形面积和点串序列判断公式(x1y2-x2y1+x2y3-x3y2+x3y1-x1y3)/2.0;
标题
知道多边形各点的坐标,求多边形面积## 标题