#include <stdio.h>
#include <math.h>
double areas(double x1, double y1, double x2, double y2, double x3, double y3) {
/*計算三邊長度*/
double a = sqrt(pow(x1 - x2, 2) + pow(y1 - y2, 2));
double b = sqrt(pow(x2 - x3, 2) + pow(y2 - y3, 2));
double c = sqrt(pow(x3 - x1, 2) + pow(y3 - y1, 2));
/*海倫公式*/
double p = (a + b + c) / 2.0;
double s = sqrt(p*(p-a)*(p-b)*(p-c));
return s;
}
int main() {
int n;
double arr[300];
int i;
double s;
while (scanf("%d", &n)!=EOF) {
if (n == 0) {
break;
}
s = 0;
for (i = 0; i < n * 2; i++) {
scanf("%lf", &arr[i]);
}
arr[i] = arr[0];
arr[i+1] = arr[1];
for (i = 0; i < n * 2; i+=4) {
s += areas(arr[i] ,arr[i + 1], arr[i + 2], arr[i + 3], arr[i + 4], arr[i + 5]);
}
printf("%.1lfn", s);
}
return 0;
}
----------------------------------------------------------------------------------
|