1 引言
在C++中
- atan(x)表示求的是x的反正切,其返回值为[-pi/2,+pi/2]之间的一个数
- atan2(y,x)求的是y/x的反正切,其返回值为[-pi,+pi]之间的一个数
2 代码实现
为求:平面内一点和原点的连线与x轴正方向的夹角
需要引入#include<math.h>
头文件
核心代码atan2(y,x)*180.0/pi
3 实例展示
题目描述
给定平面坐标系XOY上的一个点P(x, y),计算从x轴正向与OP之间的夹角。
输入
输入数据有若干行。每行上有两个浮点型数据,对应一种情形。
输出
对于每一种情形,先输出"Case #: "(#为序号,从1起),然后输出结果。注意结果应该在区间[-180°, 180°]中(保留2位小数)。
样例输入1
1 0
-1 1
-1 -1
0 -1
样例输出1
Case 1: 0.00
Case 2: 135.00
Case 3: -135.00
Case 4: -90.00
C实现:
#include<stdio.h>
#include<math.h>
int main(){
float x,y;
int n,t;
n=1;
while(scanf("%f %f",&x,&y)==2){
printf("Case %d: %.2f\n",n,atan2(y,x)*180.0/3.1415926);
n++;
}
return 0;
}