任意多边形求面积问题
Input 输入数据包含多个测试实例,每个测试实例占一行,每行的开始是一个整数n(3<=n<=100),它表示多边形的边数(当然也是顶点数),然后是按照逆时针顺序给出的n个顶点的坐标(x1, y1, x2, y2... xn, yn),为了简化问题,这里的所有坐标都用整数表示。
Output 对于每个测试实例,请输出对应的多边形面积,结果精确到小数点后一位小数。 Sample Input 3 0 0 1 0 0 1 4 1 0 0 1 -1 0 0 -1 0
Sample Output 0.5 2.0 |
代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
// 任意多边形面积的计算公式推导 https://blog.youkuaiyun.com/lemongirl131/article/details/51130659
double func(int x[], int y[], int length)
{
double sum = 0;
int i;
for(i=