这是一道求多边形面积的题目,很水的!不过我好像又学到了新的知识点!
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <algorithm>
using namespace std;
const int maxn=105;
int n;
struct node
{
double x;
double y;
} p[maxn];
double solve(node p[],int n)
{
double sum;
sum=0;
for(int i=1; i<=n; i++)
{
sum+=p[i-1].x*p[i%n].y-p[i-1].y*p[i%n].x;
}
return fabs(sum/2.0);
}
int main()
{
while(scanf("%d",&n),n)
{
for(int i=0; i<n; i++)
{
cin>>p[i].x>>p[i].y;
}
if(n==1||n==2)
{
printf("0\n");
continue;
}
double ans;
ans=solve(p,n);
printf("%.0lf\n",ans);
}
return 0;
}