一、求n多边型的面积
二、思路就是把它划分为很多个三角形,
三、因为给的值是坐标,所以就可以简单的应用叉乘法
a(x1,y1),b(x2,y2) 则s=x1*y2-x2*y1
四、注意要防止不能连续和重复,让a[0][0]=a[n][n]
五、ycyy
#include<stdio.h>
#include<string.h>
int main()
{
int n,a[101],b[101],i,j;
double sum;
while(scanf("%d",&n)!=EOF,n)
{
sum=0;
memset(a,0,sizeof(a));memset(b,0,sizeof(b));
for(i=0;i<n;i++)
scanf("%d%d",&a[i],&b[i]);
a[n]=a[0];b[n]=b[0]; //防止重复相加
for(i=0;i<n;i++)
sum+=a[i]*b[i+1]-a[i+1]*b[i];//叉乘法,a(x1,y1)b(x2,y2) s=x1*y2-x2*y1;
printf("%.1lf\n",sum/2); //别忘记除二
}
return 0;
}