如何编写程序判断给定点是否满足指定几何条件?
如何编写程序判断点的几何属性
需要判断给定点是否符合以下几何条件:
- 原点
- 红色正方形框(x、y范围均为[-2,2])
- 蓝色对角线(直线x=y或x=-y)
- 第一至第四象限

完整判断代码(Swift)
func describePoint(_ point: (Int, Int)) { let (x, y) = point var descriptions = [String]() // 原点判断 if x == 0 && y == 0 { descriptions.append("位于原点") } else { // 坐标轴判断 if x == 0 { descriptions.append("在y轴上") } else if y == 0 { descriptions.append("在x轴上") } else { // 象限判断 switch (x > 0, y > 0) { case (true, true): descriptions.append("在第一象限(I)") case (false, true): descriptions.append("在第二象限(II)") case (false, false): descriptions.append("在第三象限(III)") case (true, false): descriptions.append("在第四象限(IV)") } } // 蓝色对角线判断 if x == y { descriptions.append("在直线x=y(蓝色对角线)上") } else if x == -y { descriptions.append("在直线x=-y(蓝色对角线)上") } // 红色正方形框判断 if (-2...2).contains(x) && (-2...2).contains(y) { descriptions.append("位于红色正方形框内") } else { descriptions.append("位于红色正方形框外") } } // 输出结果 print("点\(point):\(descriptions.joined(separator: ","))") } // 测试用例 describePoint((0, 0)) // 原点 describePoint((1, 1)) // 第一象限、x=y、框内 describePoint((2, 0)) // x轴、框内 describePoint((1, -1)) // 第四象限、x=-y、框内 describePoint((-3, 2)) // 第二象限、框外
逻辑说明
- 优先判断原点,避免后续条件冲突
- 坐标轴上的点不属于任何象限,单独判断
- 对角线和正方形框的判断覆盖所有非原点的点,确保属性不遗漏
- 用数组收集所有符合的属性,最后拼接输出,结果清晰直观
内容的提问来源于stack exchange,提问作者JIA
相关产品推荐
相关产品推荐

