沧海一声喵 2018-01-26 20:06:32
点我顶贴
收藏
删除
方法1:
#include <cstdio>
#include <cmath>
using namespace std;
int main(){
int i,n;
double x[101],y[101],area=0;
scanf("%d",&n);
for(i=1;i<=n;i++) scanf("%lf%lf",&x[i],&y[i]);
for(i=1;i<=n-1;i++)
area+=(x[i+1]-x[i])*(y[i+1]+y[i])/2;
area+=(x[1]-x[n])*(y[n]+y[1])/2;
area=fabs(area);
printf("%.0f",area);
return 0;}
方法2:
#include <cstdio>
#include <cmath>
using namespace std;
int main(){
int i,n;
double x[101],y[101],area=0;
scanf("%d",&n);
for(i=1;i<=n;i++) scanf("%lf%lf",&x[i],&y[i]);
for(i=2;i<=n-1;i++)
area+=(x[i+1]-x[i])*(y[1]-y[i])-(y[i+1]-y[i])*(x[1]-x[i]);
area=fabs(area)/2;
printf("%.0f",area);
return 0;}