/*
中文题意:
中文翻译:
题目大意:求一块地的面积
解题思路:如下:
难点详解:关于下面的公式,我的理解就是在原点以外的两点,带入这个公式,就可求得这两点和原点组成三角型的面积。最后一个点要和第一个点组合在一起。故在写程序的时候,要将最后一个点单独放出来,和第一个点组合在一起。
关键点:计算不规则多边形的面积的计算公式 0.5*(x1*y2 - x2*y1),还有就是用结构体输入坐标类数据,比较简单。
解题人:lingnichong
解题时间:2014/07/30 16:42:20
解题感受:不知道求不规则多边形面积,来写这道题,是多么痛苦啊!
*/
3 0 0 1 0 0 1 4 1 0 0 1 -1 0 0 -1 0
0.5 2.0
#include<stdio.h> struct point { int x; int y; }p[110]; int main() { int n,i; double area; while(scanf("%d",&n),n) { area=0; for(i=0;i<n;i++) scanf("%d%d",&p[i].x,&p[i].y); for(i=0;i<n-1;i++) area=area+0.5*(p[i].x*p[i+1].y-p[i].y*p[i+1].x); area=area+0.5*(p[n-1].x*p[0].y-p[n-1].y*p[0].x); printf("%.1lf\n",area); } return 0; }
HDU 2036 改革春风吹满地,布布扣,bubuko.com
原文:http://blog.csdn.net/qq_16767427/article/details/38303049