C语言判断二维空间中的点,是否在圆内(输出:该点在圆内、该点在圆上、该点在圆外)。 允许的误差为1e-6. **输入格式要求:"%f,%f" "%f" "%f,%f" 提示信息:"请输入圆的圆心坐标:" "请输入圆的半径:" "请输入要判断的点的坐标(x,y):" **输出格式要求:"该点在圆内\n" "该点不在圆内\n" "该点在圆上\n" 程序示例运行如下: 请输入圆的圆心坐标:3.5,4.5 请输入圆的半径:6 请输入要判断的点的坐标(x,y):5.5,7.8 该点在圆内
时间: 2023-07-19 07:05:36 浏览: 60
判断点是否在单位圆上
3星 · 编辑精心推荐
以下是 C 语言的代码实现:
```c
#include <stdio.h>
#include <math.h>
#define ERROR 1e-6 // 允许误差为 1e-6
int main()
{
float cx, cy, r, x, y, dist;
printf("请输入圆的圆心坐标:");
scanf("%f,%f", &cx, &cy);
printf("请输入圆的半径:");
scanf("%f", &r);
printf("请输入要判断的点的坐标(x,y):");
scanf("%f,%f", &x, &y);
dist = sqrt(pow(x - cx, 2) + pow(y - cy, 2)); // 计算点到圆心的距离
if (fabs(dist - r) < ERROR) {
printf("该点在圆上\n");
} else if (dist < r) {
printf("该点在圆内\n");
} else {
printf("该点在圆外\n");
}
return 0;
}
```
其中,使用 `scanf` 函数获取输入数据,使用 `sqrt` 函数计算距离,使用 `fabs` 函数判断误差范围内的相等关系。最后根据距离与半径的关系输出结果。
阅读全文