这道题目只要知道求多边形面积公式就很容易解决了。
多边形面积公式如下:
点顺序给出
S=0.5*abs(x1*y2-y1*x2+x2*y3-y2*x3+...+xn*y1-yn*x1)
#include <iostream> #include <cmath> using namespace std; int main(){ int n,tmp,i; float s; int x[101],y[101]; while(scanf("%d",&n)&&n!=0){ tmp=0; for(i=1;i<=n;i++) scanf("%d%d",&x[i],&y[i]); for(i=1;i<=n;i++){ if(i<n) tmp=tmp+x[i]*y[i+1]-y[i]*x[i+1]; else tmp=tmp+x[i]*y[1]-y[i]*x[1]; } s=0.5*abs(tmp); printf("%.1f\n",s); } return 0; }