用c语言写计算多边形面积怎麽写啊,在线等待

如题

对于凸对边形,可以切分成n-2个三角形,每个三角形的面积用如下公式求得:

求三角形面积:给出三角形的三个边长为a,b,c,求三角形的面积。
根据海伦公式来计算三角形的面积: S= ;Area=
1.输入的三角形三边长a,b,c要满足“任意两边长的和大于第三边长”。
2.按海伦公式计算:s=(a+b+c)/2;x=s*(s-a)*(s-b)*(s-c) 这时若x>=0,则求面积:area= ,并输出area的值。

C++代码如下:
#include <cmath>
#include <iostream>
using namespace std;
double point[1000000][2],A;
int m;
double det(double x1,double y1,double x2,double y2)
{
return x1*y2-x2*y1;
}

double area()
{
int i;
float temp=0;
for(i=0;i<m-1;i++)
{
temp+=det(point[i][0],point[i][1],point[i+1][0],point[i+1][1]);
}
temp+=det(point[i][0],point[i][1],point[0][0],point[0][1]);
return temp/2;
}
int main()
{
int i;
while (scanf("%d",&m)!=EOF)
{
if (m==0)break;
for (i=0;i<m;i++)
{
cin>>point[i][0]>>point[i][1];
}
printf("%.1f\n",area());
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考
相似回答