#include <cmath>
using namespace std;
double point[1000000][2],A;
int m;
double det(double x1,double y1,double x2,double y2)
{
return x1*y2-x2*y1;
}
double area()
{
int i;
float temp=0;
for(i=0;i<m-1;i++)
{
temp+=det(point[i][0],point[i][1],point[i+1][0],point[i+1][1]);
}
temp+=det(point[i][0],point[i][1],point[0][0],point[0][1]);
return temp/2;
}
int main()
{
int i;
printf("請輸入多邊形的邊數m:");
while (scanf("%d",&m)!=EOF)
{
if (m==0)break;
printf("請按順序輸入坐標點:\n");
for (i=0;i<m;i++)
{cin>>point[i][0]>>point[i][1]; <br/>}printf("所求 %d 邊形面積為:\n",m);
printf("%.1f\n",area());
}
return 0; }