关于C语言编程题

来源:百度知道 编辑:UC知道 时间:2024/06/14 11:58:04
哪位大虾写有:在VS编译环境下写的计算任意多边形面积的C程序?
没你想的这么复杂吧,就是定简单的程序,用一个海伦公式就可以了吧?

那要看这个任意多边形的数据结构了,算法也就相应的不一样。
#include<iostream.h>

float linesqr(float x1,float y1,float x2,float y2)
{return (x2-x1)*(y1+y2)/2.0;}

void main()
{
float fx,fy,x1,y1,x2,y2,s=0.0;
int n,i;
cout<<"多边形的顶点数";
do{cin>>n;}
while(n<3);
cout<<"第1个点坐标"<<endl;
cin>>x1>>y1;fx=x1;fy=y1;
cout<<"第2个点坐标"<<endl;
cin>>x2>>y2;
s=linesqr(x1,y1,x2,y2);
for(i=3;i<=n;++i)
{
x1=x2;y1=y2;
cout<<"第"<<i<<"个点坐标"<<endl;
cin>>x2>>y2;
s+=linesqr(x1,y1,x2,y2);
}
s+=linesqr(x2,y2,fx,fy);//首尾相连
cout<<"多边形的面积为"<<(s > 0 ? s : -s)<<endl;
}

例如:
多边形的顶点数4
第1个点坐标
0
0
第2个点坐标