杭电2036 多边形面积求解

为了防止凹形面积计算出错,就只能用此方法了

多边形面积公式:0.5*|x1*y2-y1*x2+x2*y3-y2*x3+……+xn*y1-yn*x1|

#include< stdio.h>
int main()
{
    int n;
    int x[105],y[105];
    double sum;
    int abs(int );
    while(scanf("%d",&n)!=EOF&&n)
    {
        sum=0;
        scanf("%d%d",&x[1],&y[1]);
        for(int i=2;i< =n;i++)
        {
            scanf("%d%d",&x[i],&y[i]);
            sum=x[i-1]*y[i]-x[i]*y[i-1]+sum;
}
sum=x[n]*y[1]-y[n]*x[1]+sum;
        printf("%.1f\n",sum/2);
    }
    return 0;
}

你可能感兴趣的:(杭电2036 多边形面积求解)