给出二维坐标系中的n(n<50)个点的坐标x,y(x,y<1000,整数),其中任意三个不在同一条直线上的三个点可以构成一个三角形,请找出最大面积的三角形,输出其面积(实数,保留4位小数)

给出二维坐标系中的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;
}

我运行着没有啥问题

img