求任意凸多边形的面积
法则是(逆时针坐标乘积-顺时针坐标乘积)÷2
[(x1*y2+x2*y3+x3*y4+x4*y5+x5*y1)-(x1*y5+x2*y1+x3*y2+x4*y3+x5*y4)]/2
#include <cstdio> int main() { double x[100],y[100],s=0; int n,i; scanf("%d",&n); for(i=1; i<=n; i++) scanf("%lf%lf",&x[i],&y[i]); for(i=1; i<n; i++) s+=x[i]*y[i+1]; s+=x[n]*y[1]; for(i=2; i<=n; i++) s-=x[i]*y[i-1]; s-=x[1]*y[n]; s/=2; printf("%.6lf\n",s); return 0; }
时间: 2024-10-13 20:57:09