HDU 2036 改革春风吹满地(叉积求面积)
模板。
1 #include <stdio.h> 2 #include <string.h> 3 #include <math.h> 4 #define eps 1e-9 5 double px[101],py[101]; 6 double cross(double x1,double y1,double x2,double y2) 7 { 8 return x1*y2 - x2*y1; 9 } 10 int main() 11 { 12 int n,i; 13 double sum; 14 while(scanf("%d",&n)!=EOF) 15 { 16 sum = 0; 17 if(!n) break; 18 for(i = 1;i <= n;i ++) 19 { 20 scanf("%lf%lf",&px[i],&py[i]); 21 } 22 for(i = 1;i <= n;i ++) 23 { 24 if(i != n) 25 { 26 sum += cross(px[i],py[i],px[i+1],py[i+1]); 27 } 28 else 29 { 30 sum += cross(px[i],py[i],px[1],py[1]); 31 } 32 } 33 sum = sum*0.5; 34 printf("%.1lf\n",sum+eps); 35 } 36 37 }