给出二维坐标系中的n(n<50)个点的坐标x,y(x,y<1000,整数),其中任意三个不在同一条直线上的三个点可以构成一个三角形,请找出最大面积的三角形,输出其面积(实数,保留四位小数)
输入格式
输入第一个整数为有n个点,此后分别为n个的坐标x y
输出格式
最大三角形的面积
输入样例
4
0 0
2 0
1 1
2 2
输出样例
2.0000
下面的代码有问题吗?
#include
#include
#include
int main() {
int n,i,j,k,x[50],y[50];
double max = 0,s;
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf("%d %d", &x[i], &y[i]);
for (i = 0; ifor (j = i + 1; jfor (k = j + 1; kabs(x[i]*(y[j] - y[k]) + x[j]*(y[k] - y[i]) + x[k]*(y[i] - y[j])) / 2;
if (max < s)
max = s;
}
}
}
printf("%.4lf", max);
return 0;
}
我运行着没有啥问题