求多边形面积

题目出自杭电
求多边形面积_第1张图片
求多边形面积_第2张图片
容易水得:

#include <stdio.h>
#include<stdlib.h>
typedef struct point
{
    int x,y;
}point;
point a[100];
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) != EOF && 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("%.1f\n",0.5 * sum);
    }
    system("pause");
    return 0;
}

你可能感兴趣的:(杭电)