下面介绍一种求多边形面积的方法
首先已知各定点的坐标分别为(x1,y1),(x2,y2),(x3,y3)。。。,(Xn,Yn)
则该多边形的面积公式为
s=1/2*[(x1*y2-x2*y1)+(x2*y3-x3*y2)+...... +(Xk*Yk+1-Xk+1*Yk)+...+(Xn*y1-x1*Yn) ]
代码:
#include <iostream>
#include <cstdio>
using namespace std;
double a[102][2];
int main()
{
int x;
while(scanf("%d",&x)&&x!=0)
{
for(int i=0;i<x;i++)
scanf("%lf%lf",&a[i][0],&a[i][1]);
a[x][0]=a[0][0];
a[x][1]=a[0][1];
double sum=0;
for(int i=0;i<x;i++)
sum+=(a[i][0]*a[i+1][1]-a[i+1][0]*a[i][1]);
sum=sum/2;
printf("%.1lf\n",sum);
}
return 0;
}