编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间
#2957 #1003. 凸多边形 Compile Error 0 0 ms 0 K C / 1006 B s230026068 2023-11-22 20:07:22
显示原始代码
#include <stdio.h>
int main {
    typedef struct {
        float x;
        float y;
    } Point;

    // 计算两个向量的叉积
    float cross_product(Point v1, Point v2) { return v1.x * v2.y - v1.y * v2.x; }

    // 判断四边形是否是凸多边形
    int is_convex_quadrilateral(Point A, Point B, Point C, Point D) {
        Point AB = { B.x - A.x, B.y - A.y };
        Point BC = { C.x - B.x, C.y - B.y };
        Point CD = { D.x - C.x, D.y - C.y };
        Point DA = { A.x - D.x, A.y - D.y };

        float cross_AB_BC = cross_product(AB, BC);
        float cross_BC_CD = cross_product(BC, CD);
        float cross_CD_DA = cross_product(CD, DA);
        float cross_DA_AB = cross_product(DA, AB);

        // 检查所有叉积是否具有相同的符号
        if ((cross_AB_BC > 0 && cross_BC_CD > 0 && cross_CD_DA > 0 && cross_DA_AB > 0) ||
            (cross_AB_BC < 0 && cross_BC_CD < 0 && cross_CD_DA < 0 && cross_DA_AB < 0)) {
            return 1;  // 是凸多边形
        } else {
            return 0;  // 不是凸多边形
        }
    }
}

编译信息

/sandbox/1/a.c:2:1: warning: variable named 'main' with external linkage has undefined behavior [-Wmain]
int main{
^
/sandbox/1/a.c:2:9: error: expected ';' after top level declarator
int main{
        ^
        ;
1 warning and 1 error generated.