多边形面积公式:S=0.5*abs(x1*y2-y1*x2+x2*y3-y2*x3+...+xn*y1-yn*x1),逆时针为正面积(向量叉积)适用于凹多边形和凸多边形
#include<stdio.h>
struct point{
int x,y;
}p[105];
int main(){
int n;
while(~scanf("%d",&n)&&n){
for(int i=0;i<n;i++)
scanf("%d%d",&p[i].x,&p[i].y);
double sum=p[n-1].x*p[0].y-p[n-1].y*p[0].x;
for(int i=0;i<n-1;i++)
sum+=p[i].x*p[i+1].y-p[i].y*p[i+1].x;
printf("%.1lf\n",sum*0.5);
}
return 0;
}