用C语言求点(X,Y)与X轴负半轴顺时针的角度
时间: 2023-11-01 12:18:26 浏览: 66
给出多边形的点 将其逆时针化
4星 · 用户满意度95%
可以使用反正切函数 atan2(y, x) 求解点 (X,Y) 与 X 轴负半轴顺时针的角度。具体实现如下:
```c
#include <stdio.h>
#include <math.h>
int main() {
double x, y, angle;
printf("Enter the coordinates (x,y): ");
scanf("%lf %lf", &x, &y);
angle = atan2(y, x) * 180 / M_PI;
if (angle < 0) {
angle += 360; // 转换为 0~360 度之间的角度
}
printf("The angle between the point and the negative x-axis (in degrees) is: %.2lf\n", angle);
return 0;
}
```
这里使用了数学库 math.h 中的反正切函数 atan2(),它可以根据参数 y 和 x 的符号自动判断点 (X,Y) 位于哪个象限,并返回对应的角度值。最后需要将弧度转换为角度,并将负角度转换为正角度,得到点 (X,Y) 与 X 轴负半轴顺时针的角度。
阅读全文