C语言atan2和tan

#include <stdlib.h>
#include <math.h>
#include <string.h>
int main()
{
	double x, y, k, angle, k1;
	x = -3, y = 0, k = y / x, angle = atan2(y, x) * (180 / PI), k1 = tan(angle*PI / 180), printf("x=%f, y=%f, k=%f, angle=%f, k1=%f\n", x, y, k, angle, k1);
	x = -3, y = -1, k = y / x, angle = atan2(y, x) * (180 / PI), k1 = tan(angle*PI / 180), printf("x=%f, y=%f, k=%f, angle=%f, k1=%f\n", x, y, k, angle, k1);
	x = -3, y = -2, k = y / x, angle = atan2(y, x) * (180 / PI), k1 = tan(angle*PI / 180), printf("x=%f, y=%f, k=%f, angle=%f, k1=%f\n", x, y, k, angle, k1);
	x = -3, y = -3, k = y / x, angle = atan2(y, x) * (180 / PI), k1 = tan(angle*PI / 180), printf("x=%f, y=%f, k=%f, angle=%f, k1=%f\n", x, y, k, angle, k1);
	x = -2, y = -3, k = y / x, angle = atan2(y, x) * (180 / PI), k1 = tan(angle*PI / 180), printf("x=%f, y=%f, k=%f, angle=%f, k1=%f\n", x, y, k, angle, k1);
	x = -1, y = -3, k = y / x, angle = atan2(y, x) * (180 / PI), k1 = tan(angle*PI / 180), printf("x=%f, y=%f, k=%f, angle=%f, k1=%f\n", x, y, k, angle, k1);
	printf("\n");
	x = 0, y = -3, k = y / x, angle = atan2(y, x) * (180 / PI), k1 = tan(angle*PI / 180), printf("x=%f, y=%f, k=%f, angle=%f, k1=%f\n", x, y, k, angle, k1);
	x = 1, y = -3, k = y / x, angle = atan2(y, x) * (180 / PI), k1 = tan(angle*PI / 180), printf("x=%f, y=%f, k=%f, angle=%f, k1=%f\n", x, y, k, angle, k1);
	x = 2, y = -3, k = y / x, angle = atan2(y, x) * (180 / PI), k1 = tan(angle*PI / 180), printf("x=%f, y=%f, k=%f, angle=%f, k1=%f\n", x, y, k, angle, k1);
	x = 3, y = -3, k = y / x, angle = atan2(y, x) * (180 / PI), k1 = tan(angle*PI / 180), printf("x=%f, y=%f, k=%f, angle=%f, k1=%f\n", x, y, k, angle, k1);
	x = 3, y = -2, k = y / x, angle = atan2(y, x) * (180 / PI), k1 = tan(angle*PI / 180), printf("x=%f, y=%f, k=%f, angle=%f, k1=%f\n", x, y, k, angle, k1);
	x = 3, y = -1, k = y / x, angle = atan2(y, x) * (180 / PI), k1 = tan(angle*PI / 180), printf("x=%f, y=%f, k=%f, angle=%f, k1=%f\n", x, y, k, angle, k1);
	printf("\n");
	x = 3, y = 0, k = y / x, angle = atan2(y, x) * (180 / PI), k1 = tan(angle*PI / 180), printf("x=%f, y=%f, k=%f, angle=%f, k1=%f\n", x, y, k, angle, k1);
	x = 3, y = 1, k = y / x, angle = atan2(y, x) * (180 / PI), k1 = tan(angle*PI / 180), printf("x=%f, y=%f, k=%f, angle=%f, k1=%f\n", x, y, k, angle, k1);
	x = 3, y = 2, k = y / x, angle = atan2(y, x) * (180 / PI), k1 = tan(angle*PI / 180), printf("x=%f, y=%f, k=%f, angle=%f, k1=%f\n", x, y, k, angle, k1);
	x = 3, y = 3, k = y / x, angle = atan2(y, x) * (180 / PI), k1 = tan(angle*PI / 180), printf("x=%f, y=%f, k=%f, angle=%f, k1=%f\n", x, y, k, angle, k1);
	x = 2, y = 3, k = y / x, angle = atan2(y, x) * (180 / PI), k1 = tan(angle*PI / 180), printf("x=%f, y=%f, k=%f, angle=%f, k1=%f\n", x, y, k, angle, k1);
	x = 1, y = 3, k = y / x, angle = atan2(y, x) * (180 / PI), k1 = tan(angle*PI / 180), printf("x=%f, y=%f, k=%f, angle=%f, k1=%f\n", x, y, k, angle, k1);
	x = 0, y = 3, k = y / x, angle = atan2(y, x) * (180 / PI), k1 = tan(angle*PI / 180), printf("x=%f, y=%f, k=%f, angle=%f, k1=%f\n", x, y, k, angle, k1);
	printf("\n");
	x = -1, y = 3, k = y / x, angle = atan2(y, x) * (180 / PI), k1 = tan(angle*PI / 180), printf("x=%f, y=%f, k=%f, angle=%f, k1=%f\n", x, y, k, angle, k1);
	x = -2, y = 3, k = y / x, angle = atan2(y, x) * (180 / PI), k1 = tan(angle*PI / 180), printf("x=%f, y=%f, k=%f, angle=%f, k1=%f\n", x, y, k, angle, k1);
	x = -3, y = 3, k = y / x, angle = atan2(y, x) * (180 / PI), k1 = tan(angle*PI / 180), printf("x=%f, y=%f, k=%f, angle=%f, k1=%f\n", x, y, k, angle, k1);
	x = -3, y = 2, k = y / x, angle = atan2(y, x) * (180 / PI), k1 = tan(angle*PI / 180), printf("x=%f, y=%f, k=%f, angle=%f, k1=%f\n", x, y, k, angle, k1);
	x = -3, y = 1, k = y / x, angle = atan2(y, x) * (180 / PI), k1 = tan(angle*PI / 180), printf("x=%f, y=%f, k=%f, angle=%f, k1=%f\n", x, y, k, angle, k1);
	x = -3, y = 0, k = y / x, angle = atan2(y, x) * (180 / PI), k1 = tan(angle*PI / 180), printf("x=%f, y=%f, k=%f, angle=%f, k1=%f\n", x, y, k, angle, k1);
	printf("\n");
	//atan2取值范围(-π,π],对应角度(-180,180]
}

结果

x=-3.000000, y=0.000000, k=-0.000000, angle=180.000000, k1=-0.000000
x=-3.000000, y=-1.000000, k=0.333333, angle=-161.565051, k1=0.333333
x=-3.000000, y=-2.000000, k=0.666667, angle=-146.309932, k1=0.666667
x=-3.000000, y=-3.000000, k=1.000000, angle=-135.000000, k1=1.000000
x=-2.000000, y=-3.000000, k=1.500000, angle=-123.690068, k1=1.500000
x=-1.000000, y=-3.000000, k=3.000000, angle=-108.434949, k1=3.000000

x=0.000000, y=-3.000000, k=-1.#INF00, angle=-90.000000, k1=-16331239353195370.000000
x=1.000000, y=-3.000000, k=-3.000000, angle=-71.565051, k1=-3.000000
x=2.000000, y=-3.000000, k=-1.500000, angle=-56.309932, k1=-1.500000
x=3.000000, y=-3.000000, k=-1.000000, angle=-45.000000, k1=-1.000000
x=3.000000, y=-2.000000, k=-0.666667, angle=-33.690068, k1=-0.666667
x=3.000000, y=-1.000000, k=-0.333333, angle=-18.434949, k1=-0.333333

x=3.000000, y=0.000000, k=0.000000, angle=0.000000, k1=0.000000
x=3.000000, y=1.000000, k=0.333333, angle=18.434949, k1=0.333333
x=3.000000, y=2.000000, k=0.666667, angle=33.690068, k1=0.666667
x=3.000000, y=3.000000, k=1.000000, angle=45.000000, k1=1.000000
x=2.000000, y=3.000000, k=1.500000, angle=56.309932, k1=1.500000
x=1.000000, y=3.000000, k=3.000000, angle=71.565051, k1=3.000000
x=0.000000, y=3.000000, k=1.#INF00, angle=90.000000, k1=16331239353195370.000000

x=-1.000000, y=3.000000, k=-3.000000, angle=108.434949, k1=-3.000000
x=-2.000000, y=3.000000, k=-1.500000, angle=123.690068, k1=-1.500000
x=-3.000000, y=3.000000, k=-1.000000, angle=135.000000, k1=-1.000000
x=-3.000000, y=2.000000, k=-0.666667, angle=146.309932, k1=-0.666667
x=-3.000000, y=1.000000, k=-0.333333, angle=161.565051, k1=-0.333333
x=-3.000000, y=0.000000, k=-0.000000, angle=180.000000, k1=-0.000000
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值