USC第八届校赛题目 A 多边形面积

原创
2012/10/11 00:21
阅读数 225
根据所给的多边形的各个顶点坐标求多边形的面积公式
#include<stdio.h>
void main()
{
 int n,i,j;
 int a[101][2];
 float s;
 while(scanf("%d",&n)!=EOF)
 {
  if(n==0)break;
  s = 0;
  for(i=0; i<n; i++)
  {
   for(j=0; j<2; j++)
    scanf("%d",&a[i][j]);
  }

  for(i=0; i<n-1; i++)
  {
   s += a[i][0] * a[i+1][1] - a[i][1] * a[i+1][0];
  }
  s += a[i][0] * a[0][1] - a[i][1] * a[0][0] ;


 

 }
}


//  多边形的面积公式S = 0.5 * ( (x0*y1-x1*y0) + (x1*y2-x2*y1) + ... + (xn*y0-x0*yn) )

#include<stdio.h>
int main()
{
    int n=0,i=0;
    double a[200]={0};
    double sum=0;
    while(scanf("%d",&n)&&n)
    {
        for(i=0;i<2*n;i++)
            scanf("%lf",&a[i]);
        a[i]=a[0];
        a[i+1]=a[1];
        for(i=0;i<n*2;i+=2)
            sum+=a[i]*a[i+3]-a[i+2]*a[i+1];
        printf("%.1lf\n",sum/2);
        for(i=0;i<200;i++)
            a[i]=0;
        sum=0;
    }
    return 1;
}


展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部