知道多边形各点的坐标,求多边形面积

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


```c
#include <stdio.h>
#include <math.h>

//已知多边形各点坐标,求多边形面积

 


int main()
{
   int n,i,x1,x2,x3,y1,y2,y3,a[100],b[100];
   double s;
   while(~scanf("%d",&n))
   {
   	if(n==0)
	   break;
	   for(i=1;i<=n;i++)
	   scanf("%d%d",&a[i],&b[i]);
	   s=0;
	   for(i=1;i<=(n-2);i++)//因为a[i+2],b[i+2],要在范围内 
	   {
	    x1=a[1];
		y1=b[1];
		x2=a[i+1];
		y2=b[i+1];
		x3=a[i+2];
		y3=b[i+2];	
		s+=(x1*y2-x2*y1+x2*y3-x3*y2+x3*y1-x1*y3)*0.5;
	   } 
	   printf("%.1lf\n",s);
   } 
    return 0;
}

//(1)将多边形分成多个三角形,这些三角形有一个公共的顶点(x1,y1);

(2)采用多边形面积和点串序列判断公式(x1y2-x2y1+x2y3-x3y2+x3y1-x1y3)/2.0;

标题

知道多边形各点的坐标,求多边形面积## 标题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值