判断一个点是否在圆上,圆内,圆外,用c++写这个程序
时间: 2023-05-25 07:02:04 浏览: 133
```
#include <stdio.h>
#include <math.h>
int main() {
// 假设圆心为 (0, 0),半径为 r
float x, y, r, dist;
printf("请输入点的 x 坐标:");
scanf("%f", &x);
printf("请输入点的 y 坐标:");
scanf("%f", &y);
printf("请输入圆的半径:");
scanf("%f", &r);
// 计算点到圆心的距离
dist = sqrt(x * x + y * y);
if (dist == r) {
printf("该点在圆上\n");
} else if (dist < r) {
printf("该点在圆内\n");
} else {
printf("该点在圆外\n");
}
return 0;
}
```
注意:本程序假设圆心坐标为 (0, 0),如果圆心不是 (0, 0),需要在计算点到圆心的距离时将圆心坐标减去。
相关问题
用C++ 编写程序,已知平面上有一个圆,圆心坐标为(4, 6),半径为2。请输入一个点M的坐标(x, y),判断点M是在圆内、圆上还是在圆外。
```c
#include <stdio.h>
#include <math.h>
int main()
{
double x, y; // 点M的坐标
double cx = 4, cy = 6, r = 2; // 圆心坐标和半径
double d; // 点M到圆心的距离
printf("请输入点M的坐标(x, y): ");
scanf("%lf %lf", &x, &y);
d = sqrt((x - cx) * (x - cx) + (y - cy) * (y - cy)); // 计算点M到圆心的距离
if (d < r) // 点M在圆内
printf("点M在圆内\n");
else if (d == r) // 点M在圆上
printf("点M在圆上\n");
else // 点M在圆外
printf("点M在圆外\n");
return 0;
}
```
用C++ 1. 编写程序,已知平面上有一个圆,圆心坐标为(4, 6),半径为2。请输入一个点M的坐标(x, y),判断点M是在圆内、圆上还是在圆外。
以下是用C编写的程序,可以判断一个点M是否在圆内、圆上还是在圆外:
```c
#include <stdio.h>
#include <math.h>
int main() {
double x, y, distance;
double center_x = 4, center_y = 6, radius = 2;
printf("请输入点M的坐标(x, y):");
scanf("%lf %lf", &x, &y);
distance = sqrt(pow(x - center_x, 2) + pow(y - center_y, 2));
if (distance < radius) {
printf("点M在圆内\n");
} else if (distance == radius) {
printf("点M在圆上\n");
} else {
printf("点M在圆外\n");
}
return 0;
}
```
注意:这个程序中使用了数学库中的sqrt和pow函数,需要在编译时链接数学库,可以使用以下命令编译:
```
gcc -o circle circle.c -lm
```
阅读全文